2012-10-07 27 views
9

Nach der Installation vim-ruby-debugger "entführt" dieses Plugin mehrere Zuordnungen. Wie <leader>n, oder <leader>t die ich für jeweils NERDTreeToggle und Command-T finde.Ein Remapping von einem Plugin überschreiben?

Der Schuldige befindet sich unter der .

Ich würde es vorziehen, diese als <leader>rdX, das heißt: mit Präfix * r * uby- * d * Ebugger zugeordnet haben. Natürlich könnte ich das Plugin einfach hacken und die Mappings dort ändern. Aber das scheint ein bisschen zu hackisch (und wird wahrscheinlich Updates brechen).

Wie kann ich diese Mappings abmelden, damit vim wieder auf meine eigenen Mappings zurückgreifen kann? Und damit ich die Befehle in meiner .vimrc umbenennen kann (wo sollte es sein, IMHO).

+0

Verwenden Sie git, 'git pull' lässt nicht zu, dass Ihre Änderungen weggehen und stattdessen die Zusammenführung erfolgt. – ZyX

+2

Besser, verzweigen Sie dieses Repository auf GitHub, fügen Sie eine Möglichkeit hinzu, die Zuordnungen anzupassen (es ist schneller, dies zu ändern, indem Sie 'noremap b ...' zu 'ausführen' nnoremap "ändern" get (g :, 'ruby_debugger_map_toggle_breakpoint', ' b') '...' ') und dann eine Pull-Anfrage machen. Bei den vorgeschlagenen Änderungen werden die Zuordnungen mit der Variable 'g: ruby_debugger_map_toggle_breakpoint' angepasst. – ZyX

+2

Zweite Lösung ist viel besser als mit einer Art Workaround (wie das Setzen von Mappings, die nicht überschrieben werden sollten zu ~ ~/.vim/after/plugin/mappings.vim ', der ersten vorgeschlagenen Lösung oder einer Art von meinem [' map.maparg'] (https://bitbucket.org/ZyX_I/fravor/src/a09e101e4a9a55e1bbbf6602a1ef2c4fcd839631/doc/frawor.txt#cl-731) im selben '~/.vim/after/plugin/mappings.vim' -Verzeichnis zu speichern und dann 'map.map' um sie wieder zu mappen, aber zu' rd * ', mit normalem' noremap' Befehl für deine NerdTree Plugins). Ich glaube, dass Sie nicht die einzige Person sind, die die Fähigkeit hat, Zuordnungen anzupassen. – ZyX

Antwort

6

Zuerst stimme ich den Kommentaren von ZyX zu, dass dies ein Problem im Plugin ist, das behoben werden sollte. Bitten Sie den Autor des Plugins, eine Anpassung vorzunehmen.

Es gibt keine einfache Möglichkeit, die Zuordnung aufzuheben, da Vim die ursprünglichen Zuordnungen nicht speichert, wenn eine Zuordnung überschrieben wird. Sie müssen die ursprünglichen Zuordnungen notieren (:map ..., wenn das störende Plugin vorübergehend deaktiviert ist, oder im Vim-Skript nach ihren Definitionen suchen), dann erneut ausführen, nachdem das betreffende Plugin geladen wurde (abzüglich aller <unique> Flags es möglicherweise, da diese Fehler bei der erneuten Ausführung verursachen werden). Dies kann nicht in .vimrc getan werden, es wird zuerst bezogen; Ich würde einen Platz wie ~/.vim/after/plugin/zzzmappings.vim dafür empfehlen.