En bash, usando el modo vi, si presiono Esc, vmi línea de comando actual se abre en el editor especificado por $EDITORy 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 EDITORse establezca la variable de entorno.

edit-command-line"widget", necesitará algo comoautoload edit-command-line; zle -N edit-command-lineen uno de sus archivos zsh init (consulte la sección Funciones ZLE de lazshcontribdocumentación ).bindkey -M vicmd vse configura.<ESC>para ingresar al modo de comando desde el modo de inserción y luegoval modo visual (Meta-ves el mismo), o simplementevsi 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-lineEn caso de que prefiera las combinaciones de teclas de Emacs:
fuente
^x^eenlace parece ser un valor predeterminado con .oh-my-zsh actual , que es extremadamente agradable.editorse cargue el módulo.Puede usar
fcpara 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
~/.zshrcpara obtener el mismo comportamiento de bash:fuente
editormódulo se carguevio sevimseleccione para el modo de comando.