Как очистить историю консоли рельсов
Когда я запускаю rails c
и нажимаю клавишу "вверх", когда запускается irb, я могу увидеть последние команды, которые я ввел, когда мое приложение упало до irb после того, как встретило команду debugger
для драгоценного камня ruby-debug. Я бы не просто хотел очистить эти команды, но мне бы хотелось, чтобы rails c
вытащил последние команды, которые я выпустил во время моей последней сессии консоли rails. Я думаю, что раньше это делалось, но я не уверен, что изменилось. Я на рубине 1.8.7 и rails 3.0.3 на Mac OS 10.6.5, если это помогает.
Update
Ray ответ помог мне в этом. Недавно я немного поработал, чтобы узнать больше и понял, что существует ряд противоречивых проблем.
IRB проверяет, есть ли у вас ~/.irbrc
, и если он не возвращается к /etc/irbrc
, как упоминал Рей. Однако, если вы используете rvm
, есть еще один файл для рассмотрения ~/.rvm/scripts/irbrc
, который просто загружает ~/.rvm/scripts/irbrc.rb
(обратите внимание на .rb
), если у вас есть rvm_path
, установленный в ENV
(вы должны, если используете rvm
).
Интересно, что в то время как ~/.rvm/scripts/irbrc.rb
основывался на /etc/irbrc
, они не совпадают и отличаются несколькими способами. Самый очевидный способ и самый простой способ определить, какой из них используется в вашей системе, - это имя файла истории. Если используется /etc/irbrc
, ваш файл истории будет ~/.irb_history
, где rvm
- ~/.irb-history
( Примечание: _
vs -
).
Надеюсь, эта дополнительная информация поможет вам определить, что вам нужно для настройки вашей системы, как вам хотелось бы.
Беспокойство
С тех пор я перестал использовать debugger
и перешел на pry-byebug
, который включает в себя драгоценный камень pry
. Pry является альтернативой IRB, но может также использоваться вдоль и внутри него. Причина, по которой я смог предоставить вышеупомянутое обновление, заключается в том, что я пытался выяснить, как сохранить их соответствующие истории отдельно. Для получения дополнительной информации см. мой ответ на вопрос SO на ", почему история pry хранит историю транзакций irb?" . Я включил ссылки на известную проблему Github для Pry, а также мою попытку исправить ее.
Ответы
Ответ 1
Я интерпретирую вас как вопрос о том, как включить историю в консоли Rails и выключить ее в отладчике Ruby. Если это неверно, просим пояснить.
IRB и, добавив, Rails Console, прочитайте с ~/.irbrc
, или если этого не существует, /etc/irbrc
, для запуска и настройки irb. Ваша история обычно записывается в ~/.irb_history
, но это продиктовано содержимым вашего файла irbrc
. /etc/irbrc
на моей Mac OS X настроен для записи истории из irb, поэтому, возможно, вы создали локальный .irbrc
, который не имеет истории, или, возможно, у вас есть синтаксическая ошибка в этом файле.
Отладчик читает файл с именем .rdebugrc
при запуске. Вы можете отключить историю в отладке, добавив эту строку в ~/.rdebugrc
:
set history save off
Включите его с помощью:
set history save on
Вы также можете настроить вывод своего отладочного вывода на другой файл, чем irb, с помощью команды:
set history filename
Они также работают из командной строки отладки, но не являются постоянными.
Ответ 2
Существует ряд инструментов, помогающих улучшить работу irb. Bond и hirb обещают.
Вот Полный список инструментов Irb и несколько советов непосредственно редактируя файл .irbrc.
Надеюсь на эту помощь!