Não posso falar pelo iTerm, mas estas são as combinações de teclas que usei para resolver esse problema no Terminal GNOME, no Fedora 19, executando o ZSH 5.0.7 com Oh-my-zsh:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
onde \e== A seqüência de teclas de escape (conforme documentado na seção 4.1.1 )
e [== O(O maiúsculo; conforme documentado na seção 4.2.1 ), em alguns casos. Por exemplo, sob tmuxesta substituição é necessário para mim, no entanto, sem tmuxque seja necessário que nenhuma substituição seja feita e [==[
Os códigos das teclas para uma sequência podem ser obtidos usando cate pressionando a sequência desejada. Por exemplo, os resultados da prensagem <Alt+Right>devem ser interpretados da seguinte maneira:
$ cat
^[[1;3C
^[== \e== A sequência da tecla de escape
[== [sem tmuxOR
[== O(o maiúsculo) comtmux
1;3 == Não tenho certeza sobre este, mas deve significar logicamente <Alt>
C == A tecla de seta para a direita
Então, essa sequência é fornecida bindkeyno ~/.zshrcarquivo para persistência, como o primeiro argumento, e é vinculada , o que significa que o pressionamento de tecla no argumento um executará um comando de editor específico (ou widget em termos zsh), para o widget, que no primeiro a linha de exemplo acima é forward-word.
Ele ~/.zshrcdeve ser recuperado depois que esses dois comandos forem 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 cada vez que o comando foi emitido, o que corrigi desabilitando o comando
'Edit'->'Profile Preferences'->'Terminal Bell' caixa de seleção.
FOO=BARé uma palavra para zsh e 2 palavras para bash. Da mesma forma, se você definir o cursor no finalfoo --bare pressionar alt + backspace, no bash você teráfoo --e no zsh você teráfoo. O Zsh adiciona muitos recursos ao bash, mas também possui muitos padrões insanos a serem substituídos.