Anche questo mi stava facendo impazzire, ma non volevo una correzione specifica per Terminal perché non usavo Terminal, e potendo usare SSH nella mia scatola 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 + & leftarrow; / & right; 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 che i primi due si applicano a bash in Terminale ; gli ultimi due si applicano per bash nelle connessioni iTerm2 e in ingresso ssh . Non chiedermi perché l'emulazione della tastiera è diversa;)
Per la cronaca, sono stato in grado di trovare ciò che realmente erano i keycode grazie a un suggerimento di questa risposta StackOverflow : puoi eseguire cat > /dev/null
per monitorare i codici tasto esatti inviati durante una combinazione di tasti.
(Nota che per me, quando eseguo cat > /dev/null
e preme ctrl + & leftarrow; produce ^[[1;5D
. Il codice esatto può differiscono , ma il primo ^[
è rappresentato come \e
, come mostrato nel mio codice di esempio.
BTW, se vuoi vedere tutte le associazioni di tasti bash attive, esegui bind -p
.