historial-búsqueda-hacia atrás trabajando de manera diferente en zsh que en bash

10

He history-search-backwardmapeado como PageUp.

Cuando escribo:

git push <PageUp><PageUp><PageUp>
  1. en Bash comienza a recorrer todas las entradas del historial comenzando con git push
  2. en Zsh comienza a recorrer todas las entradas del historial que comienzan con git, por lo que enumerará las entradas git status, git remote updateetc. Esto no es lo que quiero.

¿Cómo puedo hacer que zsh se comporte como bash? ¿Qué setoptdebo configurar?

Paweł Gościcki
fuente

Respuestas:

13
bindkey "^[[5~" history-beginning-search-backward

bindkey "^[[6~" history-beginning-search-forward

Esto es lo que uso

gtmanfred
fuente
Si desea que tenga la misma funcionalidad pero con un error de Arriba y Abajo, reemplace la clave de enlace "^[[5~"hacia "^[[A"y "^[[6~"para"^[[B"
Autodidacta el
1
La búsqueda de inicio de historial de zsh todavía tiene una sutil diferencia con la búsqueda de historial de bash (readline). el comando de readline es equivalente a history-backward / forward (y coloca el cursor al final de la línea) antes de mover el cursor en la línea (lo que hará que se convierta en "history-begin-search") mientras que los de zsh siempre ponen el cursor al comienzo de la línea. ¿Hay una manera fácil de cambiar este comportamiento sin escribir un nuevo widget? THX
yuyichao
@yuyichao, ¿tal vez encontraste cómo zshcomportarte bash?
Blaz
@courteous No realmente, aunque me estoy acostumbrando al comportamiento zsh después de usarlo durante algún tiempo ... Especialmente porque un simple <C-e>puede convertir el zshcomportamiento en el bashcomportamiento pero no es tan fácil al revés.
yuyichao