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 tmux
esta substituição é necessário para mim, no entanto, sem tmux
que seja necessário que nenhuma substituição seja feita e [
==[
Os códigos das teclas para uma sequência podem ser obtidos usando cat
e 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 tmux
OR
[
== 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 bindkey
no ~/.zshrc
arquivo 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 ~/.zshrc
deve 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 --bar
e 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.