Как очистить историю консоли рельсов - PullRequest
12 голосов
/ 10 декабря 2010

Когда я запускаю rails c и нажимаю клавишу вверх, когда запускается irb, я вижу последние команды, которые я ввел, когда мое приложение опустилось на irb после встречи с командой debugger для гема ruby-debug.Я не только хотел бы очистить эти команды, но и хотел бы, чтобы rails c извлекал последние команды, которые я дал во время моего последнего сеанса консоли rails.Я думаю, что раньше это делало, но я не уверен, что изменилось.Я на ruby ​​1.8.7 и rails 3.0.3 на Mac OS 10.6.5, если это поможет.

Обновление

Ray s answer помог мне в промежуточный период.Недавно я немного покопался, чтобы узнать больше, и понял, что существует ряд противоречивых проблем.

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 ( Примечание : _ против -).

Надеемся, что эта дополнительная информация поможет вам определить, что вам нужно для настройки вашей системы так, как вам хотелось бы.

Pry Concerns

С тех пор я перестал использовать debugger и перешел на pry-byebugкоторый включает в себя pry драгоценный камень.Прай является альтернативой IRB, но может также использоваться вдоль и внутри него.Причина, по которой я смог предоставить вышеупомянутое обновление, заключается в том, что я пытался выяснить, как сохранить их соответствующие истории отдельно.Для получения дополнительной информации см. мой ответ на вопрос SO на «почему pry history продолжает сглаживать историю irb?» .Я включил туда ссылки на известную проблему Github для Pry, а также мою попытку ее исправить.

Ответы [ 3 ]

9 голосов
/ 29 июня 2011

Я интерпретирую ваш вопрос как вопрос о том, как включить историю в консоли Rails и выключить в отладчике Ruby. Если это не так, уточните.

IRB и, соответственно, консоль Rails, чтение из ~/.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

Они также работают из приглашения отладки, но не являются постоянными.

5 голосов
/ 18 мая 2011

Существует целый ряд инструментов, помогающих улучшить работу с irb. Bond и hirb являются многообещающими.

Вот Полный список Irb Tools и некоторые советы по прямому редактированию .irbrc файла.

Надеюсь, это поможет!

0 голосов
/ 05 июля 2018

Хотя очень старый вопрос, который я получил здесь от Google. Оказывается, RVM немного изменился с течением времени. В настоящее время моя история IRB (с использованием rvm) хранится здесь:

user@host:~$ ls ~/.rvm/rubies/ruby-2.4.2/.irbrc*
/home/user/.rvm/rubies/ruby-2.4.2/.irbrc
/home/user/.rvm/rubies/ruby-2.4.2/.irbrc_history
...