プラグインキーマッピングを再定義するにはどうすればよいですか?


21

定義したキーマッピングを無効にするメカニズムを提供しないプラグインをインストールしました。<leader>ccプラグインによって定義されたマッピング()の1つを自分の目的のために再定義したいので、次の行を次の行に入れようとしました.vimrc

noremap <leader>cc echo "my purpose"

しかし、これは機能せず、<leader>ccまだpluginコマンドを実行しています。

プラグインによって定義されたマッピングをオーバーライドするようにマッピングを定義するにはどうすればよいですか?


1(確かに素晴らしいではありません)オプションは、ちょうどに行くと編集ソースを直接怒らマッピングを削除することです
JonnyRaa

回答:


20

プラグインはあなたの後にソースさているvimrcのでvimrc、プラグインがそうする方法を提供しない場合、プラグインのマッピングをオーバーライドする方法はありません。

カスタムマッピングを配置すると~/.vim/after/plugin/mystuff.vim(ファイルの名前は関係ありません)、プラグインマッピングをオーバーライドできます。


1
これを行うことは私にとってうまくいきません。私map <C-l> somethingはそこに置きますが、それはまだPydocstringによってオーバーライドされます。
オアフィッシュ

ファイルタイプ(ftpluginなど)に固有のこれを行う方法はありますか?
スティーブンルー

また、これは実際には機能しません。
スティーブンルー

19

他の回答で述べたように、プラグインはvimrcの完了後に入手されます。

afterプラグインを実行する代わりに、vimrcでオーバーライドを保持する場合は、vimrcファイルの任意の場所でこの「トリック」を使用できます。

autocmd VimEnter * noremap <leader>cc echo "my purpose"

から:help VimEnter

VimEnter:.vimrcファイルのロード、「-c cmd」引数の実行、すべてのウィンドウの作成、およびその中のバッファーのロードを含む、すべてのスタートアップ処理を行った後。

したがって、VimEnterの自動コマンドに入力したものはすべて、Vimの準備が整った後に実行されます。この方法でVimEnterを使用すると、すべてのマッピングを、それらを保持するために使用される他の設定で保持できますvimrc

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.