あなたは本当にこれを行うことはできません. Vim は、「ユーザー定義のマッピング」とは異なる「組み込みのマッピング」を扱います。組み込みのマッピングを実際に「マッピング解除」することはできません。
技術的には、組み込みのマッピングは、 で定義されたユーザー定義のマッピングとは異なる C 構造体に格納され:map
ます。を実行すると、ユーザー定義の構造体からそれが削除されるだけです (ちなみに、これがどのように機能するかについては、先週の vi.SEの How to find out what a key is maps to?:unmap
で簡単ではあるが不完全な概要を説明しました)。
あなたができる唯一のことは次のようなものです:
" 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...
などについても同じですが、これは、などvnoremap
を再マップしないため、さらに例外を追加する必要があります (これらのマッピングの「2 番目のキー」は構造体ではなく、/です) !)<C-w><C-w>
gJ
switch
case
でも。これをしないでください。あなただけが理解できるvimrcに頼ってください。デフォルトのマッピングを学ぶだけです。これは、Vim のインストールをすぐに使用できることを意味し、マッピングはデフォルトのマッピングよりも「優れた」ものにはなりません。