Anche questo mi stava facendo impazzire, tuttavia non volevo una correzione specifica per Terminale poiché non uso Terminale, e potendo accedere a SSH nella mia casella OSX dovevo usare anche le combinazioni di tasti corrette.
Inoltre, personalmente, non mi importava della ⌥chiave come discusso in precedenza; Volevo mantenere la combinazione ctrl+ ←/ a →cui sono abituato su Linux.
Per risolvere questo problema, ho aggiunto quanto segue al mio ~/.profile
:
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
Nota i primi due si applicano a bash nel Terminale ; le ultime due si applicano a bash in iTerm2 e connessioni SSH in entrata . Non chiedermi perché l'emulazione della tastiera è diversa;)
Per la cronaca, sono stato in grado di trovare quali fossero i codici chiave in realtà grazie a un suggerimento da questa risposta di StackOverflow : è possibile eseguire cat > /dev/null
per monitorare gli esatti codici chiave inviati durante una combinazione di tasti.
(Nota che per me quando corro cat > /dev/null
e premo ctrl+ ←produce ^[[1;5D
. Il tuo codice chiave esatto può essere diverso , ma il primo ^[
è rappresentato come \e
, come mostrato nel mio codice di esempio.)
A proposito, se vuoi vedere tutte le combinazioni di tasti bash attive, esegui bind -p
.