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

11

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 gritar en mi pantalla.

Porque, ya sabes, jno es lo mismo que Jen el modo normal (y así sucesivamente).

Entonces, en lugar de hacer un mapeo CapsLockpara decir Ctrlque quiero mostrar un mensaje de error que me avisará en modo normal si este es el caso.

¿Hay alguna forma de que Vim sepa si has CapsLockhabilitado?

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

alfredodeza
fuente
3
Deshágase del bloqueo de mayúsculas, no lo necesita. Si alguna vez necesita escribir mayúsculas durante más de 60 segundos, suelte una carga en su tecla Mayús.
sidyll
1
Estoy diciendo específicamente que no quiero hacer eso, así que no tiene sentido sugerir que debería deshacerme de eso.
2
Encuentro que la tecla CapsLock es tan fácil de presionar que la reasigné a Escape. Funciona para mi. :)
dash-tom-bang
1
Además de convertir mi bloqueo de mayúsculas en Escape, también es un Control. ¡Sí, es a la vez un escape y un control al mismo tiempo ! En Linux, puede hacerlo a través de xmodmap -e "add Control = Escape". Espero que lo disfrutes. :-)
evaryont
CapSee hace el trabajo en OS X. No es la respuesta que estaba buscando, pero resulta ser la respuesta correcta para la mayoría de los usuarios de Apple.
Earlio

Respuestas:

4

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 de aquí . Ahora Vim mostrará BLOQ MAYÚS ENCENDIDO siempre que el bloqueo de mayúsculas esté activado

Actualización: Y ese es un script para AHK (lenguaje de secuencia de comandos de teclas de acceso rápido automático). Según esta conversación , es imposible crear un comportamiento que esté describiendo utilizando solo vim.


fuente
2
¿qué idioma es ese? Preferiría tener VimScript / VimL para hacer que Vim se encargue de eso (actualizando mi pregunta)
1
Eso es para AHK (secuencias de comandos de teclas de acceso rápido de automatización), por lo que no es útil para usted. Intenté buscar en Google y no pude encontrar nada específico para su problema: /
2
La idea es buena, pero ¿cómo puedo poner esto en mi .vimrc, por ejemplo? ¿Cómo uso esto con vim? = |
Eduardo Lucio