Vim - O Capslock está ativado?

Vim - O Capslock está ativado?

Quando trabalho com o Vim, quase nunca olho para o teclado (como deveria ser!) e isso é ótimo, mas às vezes, sem saber, pressiono a tecla CapsLock e me faz gritar na tela.

Porque, você sabe, jnão é o mesmo que Jno modo normal (e assim por diante).

Então, em vez disso, ou mapeamento CapsLockpara dizer que Ctrlquero exibir uma mensagem de erro que me avisará no modo normal, se for esse o caso.

Existe uma maneira do Vim saber se você CapsLockativou?

Nota: Prefiro uma solução VimScript/VimL para portabilidade e porque quero que o Vim me notifique e não dependa do sistema real.

Responder1

Você pode usar um 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 

Tirado deAqui. Agora o Vim exibirá CAPS LOCK ON sempre que seu caps lock estiver ativado

Atualização: E esse é um script para AHK (linguagem de script de teclas de atalho automáticas). De acordo comesta conversaé impossível criar um comportamento que você está descrevendo usando apenas o vim.

informação relacionada