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 tmux
esta sustitución es necesaria para mí, sin embargo, sin tmux
ella se requiere que no se realice ninguna sustitución y [
==[
Los códigos clave para una secuencia se pueden obtener usando cat
y 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 tmux
OR
[
== 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 bindkey
en el ~/.zshrc
archivo 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 ~/.zshrc
debe 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=BAR
es una palabra para zsh y 2 palabras para bash. Del mismo modo, si establece el cursor al final defoo --bar
y 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.