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, j
não é o mesmo que J
no modo normal (e assim por diante).
Então, em vez disso, ou mapeamento CapsLock
para dizer que Ctrl
quero exibir uma mensagem de erro que me avisará no modo normal, se for esse o caso.
Existe uma maneira do Vim saber se você CapsLock
ativou?
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.