Как заставить режим редактирования vi работать в IRB при использовании RVM? - PullRequest
15 голосов
/ 09 июля 2011

I "set editing-mode vi" в моем .inputrc в моей системе Mac OS, что позволяет редактировать vi в IRB. Когда я использую RVM Ruby, сеансы IRB не обрабатывают эту директиву.

Кто-нибудь знает решение?

Ответы [ 4 ]

22 голосов
/ 10 июля 2011

Вы установили set -o vi в командной строке или в одном из ваших сценариев запуска? Это включает его для оболочки. У меня есть и "set editing-mode vi", и set -o vi, и у меня есть редактирование в стиле Vi в IRB.


EDIT:

Попробуйте создать ~/.editrc, поместите в него bind -v. Snow Leopard имеет встроенную поддержку editline, так что это может быть то, что использует IRB.

Попробуйте man 5 editrc для получения дополнительной информации.

10 голосов
/ 21 марта 2012

Как упоминалось ранее, вы можете добавить bind -v в ваш ~/.editrc.

Проблема с этим, как вы могли заметить или не заметить, заключается в том, что это лишает вас возможности использовать завершение табуляции. Если вы хотите сохранить табуляцию, вы можете добавить: bind \\t rl_complete к вашему ~/.editrc.

6 голосов
/ 23 августа 2013

Используя RvM-версию Ruby 1.9.3 на Mountain Lion, я смог получить привязки клавиш vi в irb, добавив bind -v в ~ / .editrc.Я установил Ruby 2.0 с использованием RVM в той же системе, и irb завис в режиме emacs.Добавление set editing-mode vi в ~ / .inputrc привело к тому, что привязки клавиш vi работали в irb на Ruby 2.0 для меня.

0 голосов
/ 07 декабря 2018

В настоящее время я использую установленный rbenv Ruby 2.5 в MacOS Mojave, и способ получения привязок клавиш vi в irb - добавить set editing-mode vi к ~/.inputrc.

Похоже, что добавление bind -v к ~/.editrc не требуется и не помогает.

...