oh-my-zsh finalización del historial

oh-my-zsh finalización del historial

Recientemente cambié a zsh, usandorobbyrusselloh-my-zsh. Antes de eso, usaba bash con muchas cosas personalizadas y solo me falta una cosa porque zsh está tratando de ser "demasiado inteligente":

Si escribo git commity luego zsh revisa todos gitlos comandos recientes. Sin embargo, lo que realmente quiero es revisar todos los comandos que comienzan con git commit(no solo git).

¿Cómo puedo lograr este comportamiento en (oh-my-)zsh?

Respuesta1

He encontrado la solución a mi problema en elDocumentación ZSH. Oh-my-zsh parece asignar las claves 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-backwardcomo

Busque hacia atrás en el historial una línea que comience conprimera palabra en el buffer.



En cambio, lo que quería era el siguiente mapeo, 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-backwardes el siguiente:

Buscar una línea en el historialcomenzando con la línea actual hasta el cursor. Esto deja el cursor en su posición original.

Además, si \e[Ano funciona con las flechas hacia arriba o hacia abajo, presione <ctrl-v><KEY (e.g., up arrow)>en otra terminal que muestre ^[OA. Entonces puedes usar esto en lugar de \e[A. El proceso se describe aquí:http://zshwiki.org/home/zle/bindkeys

Respuesta2

Quería el mismo comportamiento para zsh con oh-my-zshel complemento instalado y encontrado history-substring-search.

Logré el mismo comportamiento descrito anteriormente agregando el complemento a mi ~/.zshrc:

plugins=(git brew npm history-substring-search)

Supongo que este complemento no existía cuando se planteó esta pregunta. Sólo una forma alternativa de lograr lo mismo.

información relacionada