9

OS X で irb を使用しています。option left/right (または 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を再コンパイルすると、問題が修正されました。

からreadline6.2を使用しましftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gzたが、これは基本を使用してインストールされました./configure && make && make install

そして、次のオプションでruby-buildを使用してruby1.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 に答える