границы слова в ирб - PullRequest
       48

границы слова в ирб

5 голосов
/ 24 февраля 2011

Я использую терминал на Snow Leopard.

В командной строке, если я набрал foo.bar.baz.bang.quuz.quux, когда я нажимаю на опцию-B, он перемещает курсор назад слово за словом - остановкав каждом периоде, потому что он считает, что период является границей слова.Аналогично, опция-F перемещается вперед слово за словом.

В irb (0.9.5, ruby ​​1.8.7) опции-B и -F также имеют такое поведение, но период больше не рассматривается какграницы слова, что делает эти сочетания клавиш значительно менее полезными.

Как это можно изменить?

РЕДАКТИРОВАТЬ: Curiouser и curiouser: В экземпляре EC2, который имеет те же версии irb и ruby,период - это , рассматриваемый как граница слова.

Ответы [ 3 ]

3 голосов
/ 18 марта 2011

Я думаю, что это больше связано с модулем Readline.

Символы разрыва слова могут быть изменены. Запустите это в IRB и посмотрите, какие символы используются в Readline:

Readline.basic_word_break_characters

Readline является частью стандартной библиотеки ruby: http://ruby -doc.org / stdlib / libdoc / readline / rdoc / index.html

1 голос
/ 01 июля 2011

Может ли это быть уместно здесь?
http://jorgebernal.info/2009/11/18/fixing-snow-leopard-ruby-readline/

В любом случае убедитесь, что option-B / F действительно связаны с вперед и назад словом в ваших файлах inputrc, как указал Джон.

Кроме того, границы слов определяются вашей локалью (см. Команду "locale") и, более конкретно, LC_CTYPE (классификация символов). Я не думаю, что это проблема здесь, но вы можете проверить и сравнить ваши настройки локали на всякий случай.

1 голос
/ 30 июня 2011

Readline также использует следующие файлы конфигурации:

  • / и т.д. / INPUTRC
  • ~ / .inputrc (или имя файла, указанное в переменной окружения INPUTRC)

Это может вызвать различное поведение на разных машинах (но, вероятно, не между версиями ruby ​​- я думаю, что ruby ​​добавляет еще один слой конфигурации поверх).

...