Как создать режим редактирования в режиме IRB при использовании RVM?
I "set editing-mode vi" в моей .inputrc в моей системе Mac OS, которая позволяет редактировать vi в IRB. Когда я использую RVM Ruby, сеансы IRB не обрабатывают эту директиву.
Кто-нибудь знает решение?
Ответ 1
У вас установлен set -o vi либо в командной строке, либо в одном из сценариев запуска? Это превращает его в оболочку. У меня есть "set editing-mode vi" и set -o vi и имеют Vi-подобное редактирование в IRB.
EDIT:
Попробуйте создать ~/.editrc, поместите bind -v в него. Snow Leopard поддерживает создание editline, так что это может быть то, что использует IRB.
Попробуйте man 5 editrc для получения дополнительной информации.
Ответ 2
Как уже упоминалось ранее, вы можете добавить bind -v в свой ~/.editrc.
Проблема с этим, поскольку вы можете или не заметили, это то, что это устраняет возможность использования табуляции. Если вы хотите сохранить вкладку, вы можете добавить: bind \\t rl_complete к своему
~/.editrc.
Ответ 3
Используя RVM-установленный Ruby 1.9.3 на Mountain Lion, я смог получить привязки vi vi в irb, добавив bind -v в ~/.editrc. Я установил Ruby 2.0, используя RVM в той же системе, и irb застрял в режиме emacs. Добавление set editing-mode vi в ~/.inputrc получило привязки клавиш vi, работающие в irb на Ruby 2.0 для меня.
Ответ 4
В эти дни я использую rbenv-установленный Ruby 2.5 на MacOS Mojave, и способ получить привязки ключей vi в irb - это добавить set editing-mode vi в ~/.inputrc.
Похоже, что добавление bind -v в ~/.editrc не требуется и не помогает.