To również doprowadzało mnie do szaleństwa, jednak nie chciałem poprawki specyficznej dla Terminala, ponieważ nie używam Terminala, a możliwość SSH do mojego systemu OSX musiała również używać odpowiednich skrótów klawiszowych.
Ponadto osobiście nie dbałem o ⌥klucz, jak omówiono wcześniej; Chciałem zachować kombinację ctrl+ ←/ →, do której jestem przyzwyczajony w systemie Linux.
Aby rozwiązać ten problem, dodałem do mojego ~/.profile
:
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
Zauważ, że pierwsze dwa dotyczą bash w Terminalu ; dwa ostatnie dotyczą bash w iTerm2 i przychodzących połączeń ssh . Nie pytaj mnie, dlaczego emulacja klawiatury jest inna;)
Dla przypomnienia, byłem w stanie znaleźć, jakie były naprawdę kody klawiszy dzięki podpowiedzi z tej odpowiedzicat > /dev/null
na przepełnienie stosu : Możesz uruchomić, aby monitorować dokładne kody kluczy wysłane podczas kombinacji klawiszy.
(Zauważ, że dla mnie, kiedy uruchamiam cat > /dev/null
i naciskam ctrl+ ←, tworzy ^[[1;5D
. Twój dokładny kod może się różnić , ale pierwszy ^[
jest przedstawiony jako \e
, jak pokazano w moim przykładowym kodzie.)
BTW, jeśli chcesz zobaczyć wszystkie aktywne skróty klawiszowe bash, uruchom bind -p
.