Vim - Ist die Feststelltaste eingeschaltet?


11

Wenn ich mit Vim arbeite, schaue ich fast nie auf meine Tastatur (wie es sein sollte!) Und das ist großartig, aber manchmal drücke ich unwissentlich die CapsLock-Taste und schreie meinen Bildschirm an.

Weil jes nicht dasselbe ist wie Jim normalen Modus (und so weiter).

Also stattdessen oder Mapping, um CapsLockzu sagen, dass Ctrlich eine Fehlermeldung anzeigen möchte, die mich im normalen Modus warnt, wenn dies der Fall ist.

Gibt es eine Möglichkeit für Vim zu erkennen, ob Sie CapsLockaktiviert haben?

Hinweis: Ich bevorzuge eine VimScript / VimL-Lösung aus Gründen der Portabilität und weil ich möchte, dass Vim mich benachrichtigt und nicht vom tatsächlichen System abhängig ist.


3
Werde die Feststelltaste los, du brauchst sie nicht. Wenn Sie jemals länger als 60 Sekunden alle Kappen eingeben müssen, lassen Sie Ihre Umschalttaste fallen.
Sidyll

1
Ich sage ausdrücklich, dass ich das nicht tun möchte, also macht es keinen Sinn vorzuschlagen, dass ich es loswerden sollte.

2
Ich finde die CapsLock-Taste so einfach zu drücken, dass ich sie Escape neu zugeordnet habe. Funktioniert bei mir. :)
Dash-Tom-Bang

1
Neben der Konvertierung meiner Feststelltaste in Escape ist es auch ein Steuerelement. Ja, es ist sowohl eine Flucht und eine Kontrolle zur gleichen Zeit ! Unter Linux können Sie dies über tun xmodmap -e "add Control = Escape". Ich hoffe dir gefällt es. :-)
evaryont

CapSee erledigt den Job unter OS X. Nicht die Antwort, nach der Sie gesucht haben, aber es ist zufällig die richtige Antwort für die meisten Apple-Benutzer.
Earlio

Antworten:


4

Sie können ein Skript wie das folgende verwenden:

; 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 

Von hier genommen . Jetzt zeigt Vim CAPS LOCK ON an, wenn Ihre Feststelltaste aktiviert ist

Update: Und das ist ein Skript für AHK (Automatic Hotkey Scripting Language). Nach diesem Gespräch ist es unmöglich, ein Verhalten, das Sie beschreiben, nur mit vim zu erstellen.


2
welche Sprache ist das? Ich würde es vorziehen, VimScript / VimL zu haben, damit Vim sich darum kümmert (Aktualisierung meiner Frage)

1
Das ist für AHK (Automation Hotkey Scripting), also keine Verwendung für Sie. Versucht, von Google zu suchen und konnte nichts finden, das für Ihr Problem spezifisch ist: /

2
Die Idee ist gut, aber wie kann ich das zum Beispiel in meine .vimrc einfügen? Wie verwende ich das mit vim? = |
Eduardo Lucio
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.