我在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实例上,句点被视为字边界。
答案 0 :(得分:3)
我认为这与Readline模块有很大关系。
可以更改分词符。在您的IRB中运行此命令,并查看Readline使用的字符:
Readline.basic_word_break_characters
Readline是标准ruby库的一部分:http://ruby-doc.org/stdlib/libdoc/readline/rdoc/index.html
答案 1 :(得分:1)
Readline还使用以下配置文件:
这可能会导致不同机器上出现不同的行为(但可能不会出现在ruby版本之间 - 我猜ruby会在顶部添加另一层配置)。
答案 2 :(得分:1)
这可能与此有关吗?
http://jorgebernal.info/2009/11/18/fixing-snow-leopard-ruby-readline/
在任何情况下,确保选项-B / F实际上绑定到inputrc文件中的前向和后向单词,就像John指出的那样。
字边界也由您的区域设置决定(请参阅“locale”命令),更具体地说,由LC_CTYPE(字符分类)确定。我认为这不是问题所在,但您可能需要查看并比较您的语言环境设置以防万一。