No puedo hablar por iTerm, pero estas son las combinaciones de teclas que utilicé para resolver este problema en el Terminal GNOME, en Fedora 19, ejecutando ZSH 5.0.7 con Oh-my-zsh:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
donde \e== La secuencia de teclas de escape (como se documenta en la sección 4.1.1 )
y [== O(O mayúscula; como se documenta en la sección 4.2.1 ), en algunos casos. Por ejemplo, bajo tmuxesta sustitución es necesaria para mí, sin embargo, sin tmuxella se requiere que no se realice ninguna sustitución y [==[
Los códigos clave para una secuencia se pueden obtener usando caty presionando la secuencia deseada. Por ejemplo, los resultados de presionar <Alt+Right>deben interpretarse así:
$ cat
^[[1;3C
^[== \e== La secuencia de teclas de escape
[== [sin tmuxOR
[== O(o mayúscula) contmux
1;3 == No estoy seguro de esto, pero lógicamente debería significar <Alt>
C == La tecla de flecha derecha
Luego, esta secuencia se da bindkeyen el ~/.zshrcarchivo para persistencia, como primer argumento, y está vinculada , lo que significa que la pulsación de tecla en el argumento uno ejecutará un comando de editor particular (o widget en términos zsh), al widget, que en el primer línea del ejemplo anterior es forward-word.
Se ~/.zshrcdebe volver a obtener después de que estos dos comandos se agreguen con:
$ source ~/.zshrc
Ahora, una molestia en mi sistema es que esta combinación en particular provocó que el emulador de terminal emitiera un pitido cada vez que se emitió el comando, esto lo solucioné desactivando el
'Edit'->'Profile Preferences'->'Terminal Bell' caja.
FOO=BARes una palabra para zsh y 2 palabras para bash. Del mismo modo, si establece el cursor al final defoo --bary hace alt + retroceso, en bash tendráfoo --y en zsh tendráfoo. Zsh agrega muchas características a bash, pero también tiene muchos valores predeterminados locos para anular.