Vim como terminal

Recientemente descubrí la característica de la terminal, puede configurar las teclas emacs o estilo vi

Prefiero el segundo. así que si lo haces

set -o vi

Puede usar las teclas kjlh para navegar en la línea de comandos. Y puede cambiar entre los modos 'Normal' e 'Insertar' como en vim.

Sin embargo, no hay forma de distinguir visualmente un modo de otro, incluso el cursor no cambia. Lo que hace que el estilo vi sea bastante inútil. ¿Hay alguna manera de hacerlo realmente vim-like?

Puede buscar en la configuración de ZLE (es el editor de línea zsh). permite editar cada línea de comando en un editor externo.

Respuestas (1)

  • Puede cambiar de basha zsh. No describiré aquí cómo configurar el indicador de modo en Z-Shell; hay muchos procedimientos en Internet, por ejemplo: [ 1 ], [ 2 ].
  • Si está utilizando la versión 4.3 de GNU Bash (lo más probable es que no, se lanzó el mes pasado, por lo que deberá actualizar), puede configurar la opción Readline show-mode-in-prompt.

Al igual que:

set show-mode-in-prompt On

en tu .inputrco

bind 'set show-mode-in-prompt On'

como un comando de shell. Esto agrega un carácter al comienzo del indicador que indica el modo de edición: @para Emacs :y +para vi normal y vi inserción respectivamente.

Es decir. su mensaje se verá como +agzam@pc:~$en modo de entrada y :agzam@pc:~$en modo normal. Según tengo entendido, esto no se puede personalizar de ninguna manera, pero aún así es mejor que nada.