Vim-Capslockはオンですか?


11

Vimで作業しているときは、キーボードを見ることはほとんどありません(見た目が良いはずです!)。これはすばらしいことですが、知らないうちにCapsLockキーを押して、画面に向かって叫ぶことがあります。

なぜなら、ご存知のjようにJ、通常モードと同じではありません(など)。

したがって、代わりに、またはマッピングCapsLockCtrlて、これが当てはまる場合に通常モードで警告するエラーメッセージを表示したいと言います。

CapsLock有効にしたかどうかをVimが確認する方法はありますか?

注:移植性のため、および実際のシステムに依存せずにVimから通知されるようにしたいので、VimScript / VimLソリューションを好みます。


3
Caps Lockを取り除く、それは必要ありません。すべての大文字を60秒以上入力する必要がある場合は、シフトキーに負担をかけます。
シディル

1
私は特にそれをしたくないと言っているので、それを取り除くべきだと提案する意味はありません。

2
CapsLockキーを押すのは簡単なので、Escapeに再マップしました。私のために働く。:)
ダッシュトムバン

1
Caps LockをEscapeに変換するだけでなく、コントロールでもあります。はい、それは同時に脱出とコントロールの両方です!Linuxでは、を使用して実行できますxmodmap -e "add Control = Escape"。お楽しみください。:-)
evaryont '07 / 07/27

CapSeeはOS Xで仕事をします。あなたが探していた答えではありませんが、ほとんどのAppleユーザーにとって正しい答えです。
earlio 2014

回答:


4

次のようなスクリプトを使用できます。

; 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 

ここから撮影。Caps Lockがオンになっているときはいつでも、VimはCAPS LOCK ONを表示します

更新:これはAHK(自動ホットキースクリプト言語)用のスクリプトです。この会話によると vimだけを使用して記述している動作を作成することは不可能です。


2
何語ですか?Vimがそれを処理できるようにVimScript / VimLを使用したいと思います(私の質問を更新します)

1
これはAHK(オートメーションホットキースクリプティング)のためのものなので、役に立ちません。グーグルから見てみましたが、あなたの問題に固有のvimを見つけることができませんでした:/

2
アイデアは良いですが、たとえば、これを私の.vimrcにどのように入れることができますか?これをvimでどのように使用しますか?= |
Eduardo Lucio 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.