Isso estava me deixando louco também, no entanto, eu não queria uma correção específica do Terminal, pois não uso o Terminal, e poder fazer o SSH na minha caixa OSX também precisava usar as teclas de atalho corretas.
Além disso, pessoalmente, não me importei com a ⌥chave, como discutido anteriormente; Eu queria manter a combinação ctrl+ ←/ com a →qual estou acostumado no Linux.
Para resolver esse problema, adicionei o seguinte ao meu ~/.profile
:
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
Observe que os dois primeiros se aplicam ao bash no Terminal ; os dois últimos se aplicam ao bash no iTerm2 e nas conexões ssh recebidas . Não me pergunte por que a emulação do teclado é diferente;)
Para o registro, eu pude encontrar quais eram os códigos-chave, graças a uma dica desta resposta do stackoverflow : Você pode executar cat > /dev/null
para monitorar os códigos-chave exatos enviados durante uma combinação de teclas.
(Observe que, para mim, quando corro cat > /dev/null
e pressiono ctrl+ ←ele produz ^[[1;5D
. Seu código de chave exato pode ser diferente , mas o primeiro ^[
é representado como \e
, conforme mostrado no meu código de exemplo.)
BTW, se você quiser ver todas as combinações de teclas do bash ativas, execute bind -p
.