¿Cómo habilitar la búsqueda inversa en zsh?


38

¡Recientemente cambié a zsh (finalmente) y me encanta! Hasta ahora, una cosa que me falta es Ctrl+ Rpara hacer una búsqueda de historial incremental.
Tengo el historial configurado correctamente

HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history

y usé vilas combinaciones de teclas

bindkey -v

Pero Ctrl+ Rno funciona. Elimina la línea sobre la línea actual, que tampoco es el comportamiento que debería tener en vim.

¿Alguna sugerencia?


1
por cierto, una solución rápida es usar una búsqueda no incremental: Ctrl+ [ /...
maxschlepzig

Respuestas:


60

Si recuerdo correctamente, debe configurarlo explícitamente, incluso con bindkey -v. Usa algo como esto:

bindkey -v
bindkey '^R' history-incremental-search-backward

44
quizás history-incremental-pattern-search-backwardes una acción alternativa para usar en ese contexto.
maxschlepzig

2
@maxschlepzig lo siento, ¿cuál es la diferencia entre los dos?
Ali

2
@Ali, con los -pattern- versiones se puede usar la búsqueda patrones (que estilo, es decir, comodines o expresiones regulares () depende de otras partes de su zsh-configuración?) - como por ejemplo, puede utilizar la búsqueda de patrones fo*barcon grepuna coincidencia con ' fobar ',' foobar ',' fooobar ', etc.
maxschlepzig

3
Estaba recibiendo un error Envolviendo ^ R entre comillas dobles lo hizo. bindkey "^R" history-incremental-pattern-search-backward
Ramon Tayag

1
bindkey -vdebe precederhistory-incremental-search-backward
Deniz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.