Vim - 大寫鎖定打開了嗎?

Vim - 大寫鎖定打開了嗎?

當我使用 Vim 時,我幾乎從不看我的鍵盤(應該如此!),這很棒,但有時,我不知不覺地按下了 CapsLock 鍵,導致我對著螢幕大喊大叫。

因為,你知道,與正常模式(等等)j不同。J

因此,或者映射CapsLockCtrl我想顯示錯誤訊息,如果是這種情況,它將在正常模式下向我發出警告。

Vim 有沒有辦法判斷你是否CapsLock啟用了?

注意:為了可移植性,我更喜歡 VimScript/VimL 解決方案,因為我希望 Vim 通知我而不依賴實際系統。

答案1

您可以使用這樣的腳本:

; 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 

取自這裡。現在,只要你的大寫鎖定打開,Vim 就會顯示 CAPS LOCK ON

更新:這是 AHK(自動熱鍵腳本語言)的腳本。根據這次談話僅使用 vim 不可能創建您所描述的行為。

相關內容