Запустить последние X команд из истории команд IRB?

Я разрабатываю ruby-приложение с помощью Vim на одном экране, а на другом использую irb для тестирования кода, который пишу в Vim.
Для этого примера скажем, что их всего 2. irb для тестирования кода, который я написал, загрузить и вызов метода.
Как правило, это более 2 команд — если их всего 2, я бы дважды нажмите стрелку вверх и нажмите Enter, но обычно это около 5 или 6, и это до 36 нажатий клавиш только для запуска последних 6 команд. Должен быть более простой способ.

Есть ли простой способ выполнить последние X команд из буфера истории irb readline в порядке их выполнения, где X — количество команд, которые вы хотите запустить? Что-то типа;

run_last_x_commands(i)

Я почти уверен, что это будет написанный на заказ фрагмент кода, мне просто интересно, решил ли кто-нибудь эту проблему или это то, что мне нужно написать самому.


person Jeff Welling    schedule 28.08.2010    source источник


Ответы (2)


Вам может быть интересно запустить Vim в IRB.

Gem.

Источник.

person jtimberman    schedule 29.08.2010
comment
Это то, что я в итоге использовал, и продолжаю использовать по сей день. Спасибо! - person Jeff Welling; 19.05.2011

Я бы действительно сохранил ваш тестовый сценарий в файле. Это менее удобно, чем просто печатать, но в то же время с ним проще редактировать и работать. Кроме того, если вы пытаетесь определить классы, вы часто сталкиваетесь с проблемами, когда IRB не может переопределить класс без выполнения таких действий, как Object.remove_const('MyClass'). У меня была та же проблема, что и у вас, и я решил не использовать IRB для этой задачи.

Хотя может быть какая-то магия чтения, чтобы делать то, что вы хотите. В Readline есть всевозможные хитрости и ярлыки, о которых я не знаю.

person AboutRuby    schedule 28.08.2010