ノーマルモードのオプションを常に小文字で使用するオプションはありますか?

I'm one of those few people who still uses caps lock regularly (Oh, the horror!! aaaah :O)

しかし、その問題は、Vimの通常モードに切り替える前に、それらをオフにすることを忘れて、 dd DD とは異なる意味を持つことです。

Vimには通常モードでコマンドを小文字で入力するように強制する オプションがありますか?ですから、私が dd として考えると dd です。

2
@sehe - シフトあり:)(2番目のコメント):はい、そうです。私はDを使いたい時は、ほとんど常にshift-Dを使います。
追加された 著者 Rook,
どのようにCAPSコマンドを使用しますか? D、Y、G、P - 私はそれらなしでは生きられなかった
追加された 著者 sehe,
そうですか。 CAPSなしで動作するようにしてください。だから、シフトは大文字を得るためにはたらくはずです
追加された 著者 sehe,

2 答え

See :he i_CTRL-^

Ctrl-^を使って "Caps Lock"を切り替えるには、あなたのvimrcに次の行を追加します(またはVimの行をヤンクしてから、@ ""を実行してください)。

" Execute 'lnoremap x X' and 'lnoremap X x' for each letter a-z.
for c in range(char2nr('A'), char2nr('Z'))
  execute 'lnoremap ' . nr2char(c+32) . ' ' . nr2char(c)
  execute 'lnoremap ' . nr2char(c) . ' ' . nr2char(c+32)
endfor

アイデアはcapslockを忘れることですので、挿入モードを終了するときにこの特殊モードを自動的にオフにすることが望ましいかもしれません:

" Kill the capslock when leaving insert mode.
autocmd InsertLeave * set iminsert=0

' iminsert 'オプションの使用に注意してください。 C - ^ を押すと実際にこのオプションが0と1の間で切り替わります。このオプションは言語マップを自動的に有効または無効にします。関連するオプション ' imsearch 'は、検索パターンを入力しながらマッピングを制御します。

キーマップの使用

Ctrl + ^に "Caps Lock"を切り替える別の手順では、キーマップを使用します(これはマッピングではありません:help mbyte-keymapを参照してください)。

'keymap'オプションを使うと、vimrcはきれいに保たれ、この "Caps Lock"モードではステータスラインにインジケータが追加されます。

See for details: wikia

1
追加された
うーん、このアプローチを試してみましょう。
追加された 著者 Rook,

このvimプラグインがあります。 capslock.vim:Software Caps Lock 最初のソリューションと同様のマッピングを使用しますが、通常モードでもCaps Lockとして機能します。

デフォルトでは、このプラグインは挿入モードを離れるときに自動的にCaps Lockの動作を無効にします。 これは let g:capslock_persist = 1 で変更できます。

プラグインをアクティブにするために使用するキーを次のように設定できます

imap      CapsLockToggle
nmap l CapsLockToggle
1
追加された