Vim: ¿Está activado el bloqueo de mayúsculas?

Vim: ¿Está activado el bloqueo de mayúsculas?

Cuando trabajo con Vim casi nunca miro mi teclado (¡como debería ser!) y esto es genial, pero a veces, sin saberlo, presiono la tecla Bloq Mayús y me hace gritarle a la pantalla.

Porque, ya sabéis, jno es lo mismo que Jen modo normal (y demás).

Entonces, en lugar de mapear, CapsLockdecir CtrlQuiero mostrar un mensaje de error que me advertirá en modo normal si este es el caso.

¿Hay alguna manera de que Vim sepa si lo ha CapsLockhabilitado?

Nota: Prefiero una solución VimScript/VimL por portabilidad y porque quiero que Vim me notifique y no dependa del sistema real.

Respuesta1

Puedes usar un script como este:

; INDICATE WHEN THE CAPS LOCK IS ON WITH A SCREEN MESSAGE
Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption
Gui, Font, caf001e s30 bold ,Verdana ;changes font color, size and font
Gui, Color, af001d;changes background color
Gui +LastFound  ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor,af001d
Gui, Add, Text, ,CAPS LOCK ON
; TOGGLE THE GUI ON AND OFF
~capslock::
   if(0==GetKeyState("capslock","T")){
      Gui,  hide
   }else{
      if(guilocation>0){
         guilocation=0
         Gui, Show,x600 y800 NoActivate
      }else{
         guilocation=1
         Gui, Show,x600 y400 NoActivate
      }
   }
return 

Tomado deAquí. Ahora Vim mostrará BLOQ MAYÚS ON siempre que el bloqueo de mayúsculas esté activado

Actualización: Y ese es un script para AHK (lenguaje de secuencias de comandos de teclas de acceso rápido automático). De acuerdo aesta conversaciones imposible crear un comportamiento que estás describiendo usando solo vim.

información relacionada