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.