Vim - O Capslock está ativado?


11

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

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

Então, em vez disso, faça o mapeamento CapsLockpara dizer Ctrlque quero exibir uma mensagem de erro que me avisará no modo normal, se for esse o caso.

Existe uma maneira do Vim dizer 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.


3
Livre-se do caps lock, você não precisa dele. Se você precisar digitar todas as letras maiúsculas por mais de 60 segundos, solte um fardo na tecla Shift.
— 26611 sidyll

11
Estou dizendo especificamente que não quero fazer isso, então não adianta sugerir que eu deva me livrar disso.

2
Acho a tecla CapsLock tão fácil de pressionar que remapeei para Escape. Funciona para mim. :)
— dash-tom-bang

11
Além de converter meu caps lock em Escape, também é um controle. Sim, é uma fuga e um controle ao mesmo tempo ! No linux, você pode fazer isso via xmodmap -e "add Control = Escape". Espero que goste. :-)
— evaryont

O CapSee faz o trabalho no OS X. Não é a resposta que você estava procurando, mas é a resposta certa para a maioria dos usuários da Apple.
— earlio

Respostas:


4

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 

Retirado daqui . Agora o Vim exibirá CAPS LOCK ON sempre que o caps lock estiver ativado

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


2
Que língua é essa? Eu preferiria ter VimScript / VimL fazer Vim cuidar disso (atualizar a minha pergunta)

11
Isso é para o AHK (script de teclas de atalho de automação), portanto não adianta você. Tentei procurar no google e não conseguiu encontrar nada específico do vim para o seu problema: /

2
A ideia é boa, mas como posso colocar isso no meu .vimrc, por exemplo? Como uso isso com o vim? = |
— Eduardo Lucio
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.