5

我在雪豹上使用终端。

在命令行中,如果我输入了foo.bar.baz.bang.quuz.quux,当我点击 option-B 时,它会逐字移动光标——在每个句点处停止,因为它认为句点是单词边界。同样,选项-F 逐字向前移动。

在 irb (0.9.5, ruby​​ 1.8.7) 中,选项-B 和 -F 也有这种行为,但句号不再被视为单词边界,这使得这些键盘快捷键的用处明显减少。

我怎样才能改变这个?

编辑:好奇和好奇:在具有相同 irb 和 ruby​​ 版本的 EC2 实例上,句点被视为单词边界。

4

3 回答 3

4

我认为这与 Readline 模块有关。

可以更改分词符。在你的 IRB 中运行它,看看 Readline 使用了哪些字符:

Readline.basic_word_break_characters

Readline 是标准 ruby​​ 库的一部分:http ://ruby-doc.org/stdlib/libdoc/readline/rdoc/index.html

于 2011-03-18T18:50:17.407 回答
1

Readline 还使用以下配置文件:

  • /etc/inputrc
  • ~/.inputrc(或由环境变量 INPUTRC 指定的文件名)

这可能会导致不同机器上的不同行为(但可能不会在 ruby​​ 版本之间 - 我猜 ruby​​ 在顶部添加了另一层配置)。

于 2011-06-29T21:25:30.000 回答
1

这可能与这里有关吗?
http://jorgebernal.info/2009/11/18/fixing-snow-leopard-ruby-readline/

在任何情况下,请确保 option-B/F 实际上绑定到您的 inputrc 文件中的正向和反向单词,就像约翰指出的那样。

单词边界也由您的语言环境决定(参见“locale”命令),更具体地说,由 LC_CTYPE(字符分类)决定。我认为这不是问题所在,但您可能需要检查并比较您的语言环境设置以防万一。

于 2011-07-01T15:57:37.273 回答