Ctrl-e i Ctrl-a nie działają na Ubuntu Hardy?

13

Używam komputera Mac, więc nie mam klawiszy Homei Endklawiszy na klawiaturze. Dosyć często SSH do serwerów Linux. Przekonałem się, że kiedy łączę SSH z serwerem Linux Ubuntu z systemem Jaunty, mogę użyć skrótów klawiszowych readline Ctrl- ai Ctrl- eaby przesunąć kursor na początek lub koniec linii, ale często jest kilka serwerów Hardy SSH do i te powiązania klawiszy nie działają podczas łączenia się z nimi.

Próbowałem połączyć się z nimi zamiast z Linuksa, na wypadek, gdyby miało to związek ze sposobem konfiguracji mojego terminalu Mac i widzę te same wyniki.

Czy ktoś ma pojęcie, dlaczego i jak to naprawić?

Richard Turner
źródło

Odpowiedzi:

22

To tylko myśl, ale spróbuj wpisać to i powtórzyć polecenia:

set -o emacs

Jeśli to zadziała, umieść ustawienie w pliku ~ / .bashrc , aby załadować je automatycznie.

Jeśli wolisz vi (m), możesz to zrobić:

set -o vi

Zauważ jednak, że wiązania vi nie są tak kompletne jak emacsa.

Telemachus
źródło
4

Znalazłem odpowiedź! /etc/bash.bashrc miał set -o viw nim, co z jakiegoś powodu uniemożliwiało działanie Ctrl-e i Ctrl-a.

Richard Turner
źródło
5
set -o viKomenda powoduje Bash używać wiązania vim. Domyślnie są to wiązania w stylu Emacsa. Tak więc nie jest to „z jakiegoś powodu”, ale raczej set -o viwywołuje zupełnie inny zestaw opcji Readline. Zobacz moją odpowiedź na temat włączania się w locie.
Telemachus
1
Wspaniale dzięki. Zrozumiałem, że Bash był ustawiony na używanie powiązań vi, ale nie spodziewałem się, że uniemożliwi to działanie Ctrl-a i Ctrl-e. Nie zdawałem sobie sprawy, że sposobem na wyłączenie powiązań vi było ustawienie powiązań emacsa.
Richard Turner