キャップに何かを入力するたびに、通常モードに戻るときにキャップロックをオフにするのを忘れています。それから、カーソルを動かして、たくさんの行や、これから起こるとは思わない多くのことを結合しようとします。
エスケープを押して通常モードに入るときにcapslockをオフにするようにvimを構成することは可能ですか?
OS固有のソリューションがある場合、Linuxに適用可能なソリューションに興味があります。
キャップに何かを入力するたびに、通常モードに戻るときにキャップロックをオフにするのを忘れています。それから、カーソルを動かして、たくさんの行や、これから起こるとは思わない多くのことを結合しようとします。
エスケープを押して通常モードに入るときにcapslockをオフにするようにvimを構成することは可能ですか?
OS固有のソリューションがある場合、Linuxに適用可能なソリューションに興味があります。
回答:
capslockをctrlに再マップしましたが、capslockを使用することはほとんどありません。ただし、vimで必要な場合は、tpope / vim-capslockをソフトウェアの一時的なcapslockとして使用できます。これを使用する場合、イベントのautocmdをセットアップしてcapslockをInsertLeave
無効にするのはかなり簡単です。
通常モードでCaps Lockを自動的にオフにする方法を見つけました(ただし、Linuxでのみ機能します)。
プラグインを使用して作成されたソリューションでは、たとえばコマンドモードからなど、複数の方法(挿入から通常)で通常モードに入ることができることを考慮していません。
実際には、通常モードに入ったときにアクティブになるオートコマンドイベントはないため、代わりに使用したCursorHold
イベントは、通常モードで入力していないときにアクティブになるイベントでした。
au CursorHold * call TurnOffCaps()
set updatetime=10
更新時間を非常に小さな数に設定すると、何かを入力する前に常に更新時間がアクティブになります。
function TurnOffCaps()
let capsState = matchstr(system('xset -q'), '00: Caps Lock:\s\+\zs\(on\|off\)\ze')
if capsState == 'on'
silent! execute ':!xdotool key Caps_Lock'
endif
endfunction
私のAppleマシンでは、実際にKarabinerを使用してこの機能を実装しましたが、これはかなりうまくいきました。残念ながら、10.12はKarabinerを壊しました。それ以来、私はそれを実装しようとしませんでした。
以前に有効にした場合は、エスケープキーまたはEnterキーを使用してCaps Lockを無効にしました。
そのため、10.11以前でmacOSを使用している場合は、これを確実に行うことができます(設定を求めないでください。もう持っていません)。
それ以外の場合は、提案されたものを使用しgU
ます。(私はあなたに不満を理解できますが、他のテキストエディタで使用するのと同じ方法を使用できないことについて)