Eu não posso falar pelo iTerm, mas estas são as combinações de teclas que usei para resolver este problema no Terminal GNOME, no Fedora 19, rodando o ZSH 5.0.7 com o Oh-my-zsh:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
onde \e == A sequência da chave de escape (conforme documentado na seção 4.1.1 )
e [ == O (maiúscula O; conforme documentado na seção 4.2.1 ), em alguns casos. Por exemplo, em tmux esta substituição é necessária para mim, porém sem tmux é necessário que nenhuma substituição seja feita e [ == [
Os códigos de tecla para uma sequência podem ser obtidos usando cat e pressionando a seqüência desejada. Por exemplo, os resultados de pressionar <Alt+Right> devem ser interpretados da seguinte forma:
$ cat
^[[1;3C
^[ == \e == A seqüência de teclas de escape
[ == [ sem tmux OR
[ == O (maiúscula o) com tmux
1;3 == Não tenho certeza sobre isso, mas deve significar logicamente <Alt>
C == A tecla de seta para a direita
Então, essa sequência é dada para bindkey no arquivo ~/.zshrc para persistência, como o primeiro argumento, e é ligada , significando que o pressionamento de tecla no argumento um executará um comando de editor específico (ou widget em termos zsh), para o widget, que na primeira linha do exemplo acima é forward-word .
O ~/.zshrc deve ser re-sourced após esses dois comandos serem anexados a ele com:
$ source ~/.zshrc
Agora, um aborrecimento no meu sistema é que essa combinação específica fez com que o emulador de terminal emitisse um sinal sonoro toda vez que o comando era emitido, o que resolvi desativando o
'Edit'->'Profile Preferences'->'Terminal Bell' checkbox.