¿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?

Ali
fuente
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
Chris Down
fuente
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