/ / IRB nie respektuje kropki (.) Jako znaku przerywanego wyrazu - ruby, irb

IRB nie respektuje kropki (.) Jako znaku przerywanego wyrazu - ruby, irb

Używam irb na OS X, a kiedy naciskam opcję left / right (lub META + B / F) kursor przesuwa się do następnego / poprzedniego słowa, ale irb nie będzie traktował znaku kropki (.) Jako separator słów.

Próbowałem dodać (.) Do .irbrc, więc wygląda to teraz:

Readline.basic_word_break_characters = " tn`><=.;|&{("

Ale to nie działa.

Używam rubinu Mountain Lion, aręcznie skompilowane 1.9.3, obie wersje irb zachowują się podobnie. Również kropka jest traktowana jako separator w bashu i podcięciu, więc ustawienia systemowe są prawdopodobnie w porządku.

Każda pomoc doceniona,

Dzięki

Odpowiedzi:

4 dla odpowiedzi № 1

Ok, wydaje się, że problem polegał na tym, że nie było libreadline zainstalowane w moim systemie w ogóle. Zainstalowanie najnowszego readline i rekompilacja ruby ​​rozwiązało problem.

Użyłem readline 6.2 od ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz, który został zainstalowany przy użyciu podstawowego ./configure && make && make install.

I zainstalowałem ruby ​​1.9.3-p194 używając ruby-build z następującymi opcjami

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

Następnie IRB zaczął traktować kropki, podkreślenia i kilka innych znaków jako separatory słów.

Również poprawnie działający readline powinien zwracać coś takiego:

Readline::VERSION => "6.2"

a źle postępujący mówi:

Readline::VERSION => "EditLine wrapper"

1 dla odpowiedzi nr 2

Jeśli masz problemy z powyższym (albo nie udało się zainstalować, albo potrzebujesz więcej instrukcji), oto co zrobiłem, aby działało.

Dla użytkowników najnowszego systemu Mac OS X (10.11.2 El Capitan):

curl ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz > temp-readline.tar.gz następnie rozpakuj za pomocą tar temp-readline.tar.gz. Następnie przejdź do tego katalogu za pomocą cd readline-6.3. Skonfiguruj i zainstaluj za pomocą ./configure && make && make install, tak jak powyżej.

Mam nadzieję że to pomoże.