Para aclarar: no estoy preguntando cómo cambiar el cursor cuando uso vim dentro de un terminal . Quiero que el cursor cambie al cambiar entre los modos de entrada y comando dentro del modo vi de Bash:
set -o vi <CR> type some text <ESC> (the cursor changes shape/color)
i (cursor change back) etc...
Encontré un script que hace posible cambiar el color del cursor en los cambios de modo en zsh , pero no quiero cambiar los shells solo por esta característica.
¿Hay alguna manera de hacer que el cursor cambie de forma, como en gvim, (o incluso solo en color) al cambiar entre los modos de comando e inserción en la línea de comando Bash?
bash
vi
line-editor
joecan
fuente
fuente
Respuestas:
agregue estas dos líneas a ~ / .inputrc :
fuente
set show-mode-in-prompt on
en~/.inputrc
también para hacer este trabajo.Copiado desde aquí: estilo vim de edición de línea de comandos
Debería estar disponible en
bash
4.3 - ver el registro de cambios -bash
4.3 se encuentra actualmente en larc
etapa, debería poder obtener paquetes para la mayoría de las distribuciones sin compilar desde la fuente, aunque no en los repositorios principales. P.ej. Ubuntu (amd64) aquí y Debian (repositorio experimental) aquí .fuente
No he encontrado una solución real, pero quizás esto podría ayudarlo a usted (oa otra persona) a encontrar una mejor.
Tienes que crear un script (por ejemplo, kmtest.sh)
y después de agregarlo a tu PS1, algo como:
pero como dije, no es lo que quieres, porque cambia el color del cursor solo después de un cr. Buena suerte
gb
fuente
Parece que puede haber una manera de hacerlo a través de hackear readline. ¿Quizás podríamos presionar para que se incorpore?
Aquí está mi respuesta en SO https://stackoverflow.com/a/12201092/255961 que actualizaré si obtengo más información.
fuente
Si bien no es exactamente lo que desea (cambiar dinámicamente el cursor), bash 4.4 / readline 7.0 agregará soporte para cambiar dinámicamente el indicador . Podrá especificar indicadores de modo personalizado para los modos de inserción / comando (Esto es diferente de la
show-mode-in-prompt
opción actual que está codificada para usar+
y:
).Desafortunadamente, estas versiones están actualmente en beta y no parecen tener todos los errores resueltos todavía. También les falta la capacidad de especificar en qué parte del mensaje desea que aparezca el indicador de modo.
Mientras tanto, he publicado versiones parcheadas de bash 4.3 / readline 6.3 en github con esta funcionalidad.
fuente
Hice la misma pregunta hace un tiempo en AskUbuntu cuando estaba haciendo la transición de Gvim a Console Vim.
Recibí una respuesta, pero involucraba alternar la configuración del terminal gnome, y esta configuración se aplicaba en todos los terminales. Por lo tanto, era posible que el cursor del terminal gnome se atascara en el estado incorrecto a veces.
Todavía estoy interesado en saber si obtienes una solución satisfactoria, pero con el tiempo me he ajustado a la falta de información del estado del modo en el cursor. Tal vez solo presiono escape con más frecuencia (por ejemplo,
esc
para asegurarme de que estoy en modo comando;esc i
para asegurarme de que estoy en modo inserción); tal vez miro el estado que se muestra en la parte inferior de la pantalla; Quizás acabo de internalizar el modo.fuente