En bash, usando el modo vi, si presiono Esc, vmi línea de comando actual se abre en el editor especificado por $EDITOR
y puedo editarla en pantalla completa antes de 'guardar' el comando que se devolverá al shell y se ejecutará.
¿Cómo puedo lograr un comportamiento similar en zsh? Golpear ven el modo de comando resulta en una campana y no tiene ningún efecto aparente, a pesar de que EDITOR
se establezca la variable de entorno.
edit-command-line
"widget", necesitará algo comoautoload edit-command-line; zle -N edit-command-line
en uno de sus archivos zsh init (consulte la sección Funciones ZLE de lazshcontrib
documentación ).bindkey -M vicmd v
se configura.<ESC>
para ingresar al modo de comando desde el modo de inserción y luegov
al modo visual (Meta-v
es el mismo), o simplementev
si ya está en modo de comando. Si está utilizando el modo Emacs, el enlace típico esC-x C-e
.bindkey -M vicmd ' ' edit-command-line
En caso de que prefiera las combinaciones de teclas de Emacs:
fuente
^x^e
enlace parece ser un valor predeterminado con .oh-my-zsh actual , que es extremadamente agradable.editor
se cargue el módulo.Puede usar
fc
para editar el último comando en el historial. No es lo mismo que editar el mismo comando, pero un golpe rápido en la tecla Intro hace que su comando actual sea el último comando en la historia.fuente
Esta es la configuración completa que agregué a mi
~/.zshrc
para obtener el mismo comportamiento de bash:fuente
editor
módulo se carguevi
o sevim
seleccione para el modo de comando.