本当にこれを行うことはできません。 Vimは、 "ユーザ定義のマッピング"とは異なる "組み込みのマッピング"を扱います。組み込みマッピングを実際に「アンマップ」することはできません。
技術的には、:map
で定義されたユーザー定義のマッピングとは別のC構造体に組み込みのマッピングを格納します。 :unmap
を実行すると、それはユーザー定義の構造体から削除されます(ちなみに、先週のvi38でHow to find out what a key is mapped to?でこれがどのように動作するかの概要は不完全でした)。
あなたができる唯一のことのようなものです:
vnoremap
ため
" Remap all ascii characters; everything below 33 is a control character
for i in range(33, 127)
" | needs some extra love
if i == 124 | continue | endif
execute 'nnoremap ' . nr2char(i) . ' <Nop>'
execute 'nnoremap <C-' . nr2char(i) . '> <Nop>'
endfor
" The above won't remap stuff like `<F1>`, `<Up>`
nnoremap <Bar> <Nop>
nnoremap <F1> <Nop>
nnoremap <Up> <Nop>
" ... etc ... You can use a loop for this as well...
" Now make our own mappings
nnoremap : :
" ...etc...
と同じ、などがありますが、さらに追加する必要がありますので、これは<C-w><C-w>
、gJ
などを再マップはありません例外です(これらのマッピングの「第2のキー」は構造体にもありませんが、switch
/case
です)。
ただし、 これをしないでください。今あなたのvimrcに頼っているのでしか理解できません。デフォルトのマッピングを学ぶだけです。これは、すぐに使用できるVimインストールを使用できることを意味し、マッピングはデフォルトのマッピングよりも「良い」ものではありません。
'0'、' $ '、' e'、 'b'だけ使用しますか? – soyuka
これは、挿入モードを残す必要がありますので、複数のキーストロークが必要です。私の質問はこれよりはるかに広いです。 – Bennett
私は知っている、多分広すぎるかもしれない。 IMHO挿入モードの全体的なポイントは、それを挿入するためだけに使用することです。 caps-lockをescに再マップしてください。速いです。 – soyuka