9

我在 OS X 上使用 irb,当我按下选项左/右(或 META+B/F)时,光标移动到下一个/上一个单词。但 irb 不会将点 (.) 字符视为单词分隔符。

我尝试将 (.) 添加到 .irbrc,所以现在看起来像这样:

Readline.basic_word_break_characters = " \t\n`><=.;|&{("

但这没有任何效果。

我正在使用库存的 Mountain Lion ruby​​ 和手动编译的 1.9.3,两个版本的 irb 行为相似。点在 bash 和 pry 中也被视为分隔符,因此系统范围的设置可能没问题。

任何帮助表示赞赏,

谢谢

4

2 回答 2

5

好的,问题似乎是我的系统中根本没有安装libreadline 。安装最新的 readline 并重新编译 ruby​​ 解决了这个问题。

我使用ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz了 readline 6.2 from ,它是使用基本的./configure && make && make install.

我已经使用ruby ​​-build 安装了 ruby​​ 1.9.3-p194 ,并带有以下选项

sudo ruby-build 1.9.3-p194 /opt/ruby-1.9.3-p194 CONFIGURE_OPTS="--with-readline-dir=/usr/local"

之后,IRB 开始将点、下划线和一堆其他字符视为单词分隔符。

此外,正常工作的 readline 应该返回如下内容:

Readline::VERSION => "6.2"     

行为不端的说:

Readline::VERSION => "EditLine wrapper"
于 2012-10-11T13:01:08.777 回答
1

如果您遇到上述问题(安装失败或您只需要更多说明),这就是我为使其正常工作所做的工作。

对于使用最新 Mac OS X (10.11.2 El Capitan) 的用户:

curl ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz > temp-readline.tar.gz然后用tar temp-readline.tar.gz. 然后使用 . 进入该目录cd readline-6.3。使用 配置和安装./configure && make && make install,就像上面一样。

希望这可以帮助。

于 2016-01-23T07:27:42.500 回答