【问题标题】:IRB doesn't respect dot (.) as a word-break characterIRB 不尊重点 (.) 作为分词符
【发布时间】:2012-10-10 15:26:03
【问题描述】:

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

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

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

但这没有任何效果。

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

任何帮助表示赞赏,

谢谢

【问题讨论】:

标签: ruby irb


【解决方案1】:

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

我使用了来自ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz 的 readline 6.2,它是使用基本的./configure &amp;&amp; make &amp;&amp; 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"

【讨论】:

【解决方案2】:

如果您遇到上述问题(安装失败或您只需要更多说明),我就是这样做的。

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

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多