¿Cómo hacer que ctrl + p se comporte exactamente como la flecha hacia arriba en zsh?

15

En primer lugar, estoy usando zsh y oh-my-zsh con casi ninguna otra personalización.

En zsh, cuando presiono la flecha hacia arriba, me trae los últimos comandos. Y si escribí algunos caracteres antes de presionar la flecha hacia arriba, me dará el último comando que comienza con esos caracteres. Es una característica bastante útil, ya que emito muchos comandos git / vim / scp alternativamente.

Pero ahora estoy cambiando a un teclado sin teclas de flecha, y tiendo a usar ctrl+ en plugar de flecha hacia arriba para completar el historial. Sin embargo, no importa cuántos caracteres haya escrito antes de presionar ctrl+ p, siempre me traerá el último comando (no el último que comience con esos caracteres)

¿Cómo debo configurar el zsh (o oh-my-zsh) para solucionar esto?

Gordon Gao
fuente

Respuestas:

18
bindkey "^P" up-line-or-search
Michael Wild
fuente
¡Muchas gracias! Presentaré un problema a oh-my-zsh para agregarlo a su lib / keybinding.zsh predeterminado.
Gordon Gao
44
Es posible que desee agregar bindkey "^N" down-line-or-search también para mantener la consistencia.
ejoubaud
6
bindkey -e

Utiliza las combinaciones de teclas de emacs y parece funcionar para mí.

Nocturno
fuente
En su archivo rc de shell, ~/.zshrc si lo configura export EDITOR=vim, también la vinculación de teclas en shell cambiará a vim. En este caso, configure manualmente la vinculación de teclas al modo emacs mediantebindkey -e
MutantMahesh