irb中的单词边界

我在Snow Leopard上使用终端。

在命令行,如果我输入foo.bar.baz.bang.quuz.quux ,当我点击选项-B时,它会逐字地向后移动光标 – 在每个句点停止,因为它考虑了一个周期到是一个词边界。 同样,选项-F逐字逐句前进。

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

我怎么能改变这个?

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

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

在任何情况下,确保选项-B / F实际上绑定到inputrc文件中的前向和后向单词,就像John指出的那样。

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

我认为这更多地与Readline模块有关。

单词分隔字符可以更改。 在您的IRB中运行此命令,并查看Readline使用的字符:

 Readline.basic_word_break_characters 

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

Readline还使用以下配置文件:

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

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