10

プラグインは、挿入マッピングに のマッピングを追加します<leader>is。私はそれがどれであるかについていくつかのアイデアを持っています。しかし、外国のプラグインで何も変更したくないということは問題ではありません。したがって、このマッピングを無効にしたいと思います。私はこれを試しました:

imap <leader>is  <nop>

私は助けませんでした。

あなたの提案は何ですか?

ところで、vimrc ですべてのプラグインの挿入マッピングを無効にする方法を知りたいですか?

4

2 に答える 2

14

挿入モード マッピングを削除するには、次の:iunmapコマンドを使用します。

:iunmap <Leader>is

「一括アンマッピング」が可能かどうかはわかりませんが、少なくともアクティブな挿入モードのマッピングをすべて一覧表示できます

:imap

または、さらに良いことに、

:verbose imap

これにより、マッピングが最初に定義された場所もわかります。


編集:明確にするために、プラグインがロードされた後にマッピング解除を行う必要があります。これを行うには、次の内容のファイルを作成します~/.vim/after/plugin/(@ZyX の回答を参照)。

" myafter.vim: will be executed after plugins have been loaded
iunmap <Leader>is
于 2012-11-22T15:25:19.173 に答える
8

vimrc に挿入されたコマンドは、プラグインが侵入マッピングを定義する前に実行されるため、効果がありません。それを有効にするには、そのプラグインの後に実行する必要があります。これは通常、プラグインを~/.vim/after/plugin/disable_mappings.vim(動作の代わりに任意の名前disable_mappings) に配置することによって実現されます。2番目はVimEnterイベントを使用しています:

augroup DisableMappings
    autocmd! VimEnter * :inoremap <leader>ic <Nop>
augroup END

. すべてのマッピングを無効にするには:h 'paste'、 および:h 'pastetoggle'も参照してください:h :imapclear(ただし、後者はマッピングを一時的に無効にするのではなく、マッピングを削除します)。


もちろん、iunmap私が提案したところで を使用することもできますinoremap … <Nop>。どうしてこのコマンドを忘れてしまったのですか?

于 2012-11-22T15:23:21.760 に答える