He encontrado la solución a mi problema en la documentación de ZSH . Oh-my-zsh parece mapear las teclas ↑y ↓a algo como
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
Lo que produce el comportamiento exacto que describí anteriormente. La documentación ZSH describe el comportamiento de history-search-backward
tan
Busque hacia atrás en el historial una línea que comience con la primera palabra en el búfer .
En cambio, lo que quería era la siguiente asignación, que inserté en mi ~/.zshrc
:
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
El comportamiento de history-beginning-search-backward
es el siguiente:
Busque en el historial una línea que comience con la línea actual hasta el cursor . Esto deja el cursor en su posición original.
Además, si \e[A
no funciona para las flechas hacia arriba o hacia abajo, presione <ctrl-v><KEY (e.g., up arrow)>
en otra terminal que da ^[OA
. Entonces puedes usar esto en lugar de \e[A
. El proceso se describe aquí: http://zshwiki.org/home/zle/bindkeys