Vim - Capslock è attivo?


11

Quando lavoro con Vim non guardo quasi mai la mia tastiera (come dovrebbe essere!) E questo è fantastico, ma a volte, inconsapevolmente, premo il tasto CapsLock e mi fa urlare al mio schermo.

Perché, sai, jnon è lo stesso Jdella modalità normale (e così via).

Quindi invece o mappando CapsLockper dire Ctrlche voglio visualizzare un messaggio di errore che mi avviserà in modalità normale se questo è il caso.

C'è un modo per Vim di dire se hai CapsLockabilitato?

Nota: preferisco una soluzione VimScript / VimL per la portabilità e perché voglio che Vim mi informi e non dipenda dal sistema reale.


3
Sbarazzati del blocco maiuscole, non ti serve. Se hai mai bisogno di digitare tutte le maiuscole per più di 60 secondi, rilascia un onere nel tasto Maiusc.
sidyll,

1
Sto specificatamente dicendo che non voglio farlo, quindi inutile suggerire che dovrei liberarmene.

2
Trovo il tasto CapsLock così facile da premere che l'ho rimappato su Escape. Per me va bene. :)
dash-tom-bang,

1
Oltre a convertire il blocco maiuscole in Escape, è anche un controllo. Sì, è sia una fuga che un controllo allo stesso tempo ! In Linux, puoi farlo tramite xmodmap -e "add Control = Escape". Spero ti diverta. :-)
evaryont

CapSee fa il lavoro su OS X. Non è la risposta che stavi cercando, ma è la risposta giusta per la maggior parte degli utenti Apple.
earlio,

Risposte:


4

Puoi usare uno script come questo:

; 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 

Tratto da qui . Ora Vim visualizzerà BLOC MAIUSC ogni volta che il blocco maiuscole è attivo

Aggiornamento: E questo è uno script per AHK (linguaggio di scripting automatico di tasti di scelta rapida). Secondo questa conversazione è impossibile creare un comportamento che stai descrivendo usando solo vim.


2
che lingua è? Preferirei avere VimScript / VimL per far sì che Vim se ne occupasse (aggiornando la mia domanda)

1
Questo è per AHK (script di tasti di scelta rapida di automazione) quindi non serve a te. Ho cercato di cercare su Google e non sono riuscito a trovare nulla di specifico per il tuo problema: /

2
L'idea è buona, ma come posso inserirla nel mio .vimrc, per esempio? Come posso usarlo con vim? = |
Eduardo Lucio,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.