2012-10-07 5 views
9

vim-ruby-debuggerをインストールすると、そのプラグインが「ハイジャック」していくつかのマッピングが行われます。 <leader>n、または<leader>tのように、それぞれNERDTreeToggleとCommand-T findに使用します。プラグインからの再マッピングをオーバーライドしますか?

犯人はhardcoded mappings in this ruby-debuggerにあります。

これらは、<leader>rdXとして再マップされていることを前提としています。つまり、* r * uby- * d * ebuggerという接頭辞が付いています。明らかに、私は単にプラグインをハックし、そこのマッピングを変更することができます。しかし、それはちょっとハッキリしすぎているようだ(おそらく更新を破るだろう)。

これらのマッピングを解除するにはどうしたらよいですか?vimは自分のマッピングにフォールバックしますか?それで、私は.vimrcの中のコマンドを再マップすることができるようになりました(IMHOでなければなりません)。

+0

gitを使用すると、 'git pull'はマージを行う代わりに変更を取り消すことはできません。 – ZyX

+2

このリポジトリをgithubにフォークして、マッピングをカスタマイズする可能性を追加します( 'noremap b ...'を 'nnoremap 'を実行するように変更する方が速いです)get(g :,' ruby​​_debugger_map_toggle_breakpoint '、' b ' ) '...')、プルリクエストを行います。提案された変更マッピングでは、 'g:ruby_debugger_map_toggle_breakpoint'変数を使用してカスタマイズされます。 – ZyX

+2

2番目の解決策は、いくつかの回避策を使用するほうがはるかに優れています(最初の提案された解決策または私の[''/.vim/after/plugin/mappings.vim'にオーバーライドしてはならない、 '〜/ .vim/after/plugin/mappings.vim'ディレクトリにある' map.maparg'](https://bitbucket.org/ZyX_I/frawor/src/a09e101e4a9a55e1bbbf6602a1ef2c4fcd839631/doc/frawor.txt#cl-731)保存してから 'map.map'を実行して再度マップしますが、NerdTreeプラグインの通常の' noremap'コマンドでは ' rd *'になります)。私はあなたがマッピングをカスタマイズする能力を必要とする唯一の人ではないと信じています。 – ZyX

答えて

6

まず、私はZyXのコメントに同意します。これは修正が必要なプラグインの問題です。プラグイン作成者にカスタマイズを依頼してください。

マップを無効にする簡単な方法はありません。マッピングがオーバーライドされたときに元のマッピングが記憶されないためです。オリジナルのマッピング(厄介なプラグインが一時的に無効になっている場合は:map ...を書き留めておくか、Vimスクリプトでその定義を調べてください)の後に再実行してください。違反プラグインがロードされています再実行時にエラーが発生する可能性があります)。これは.vimrcで行うことはできません。最初にソースが設定されています。私はこのために~/.vim/after/plugin/zzzmappings.vimのような場所をお勧めします。

関連する問題