Wie kann ich Plugin-Tastenzuordnungen neu definieren?


21

Ich habe ein Plugin installiert, das keinen Mechanismus zum Deaktivieren der von ihm definierten Tastenzuordnungen bietet. Ich möchte eine der <leader>ccdurch das Plugin definierten Zuordnungen ( ) für meinen eigenen Zweck neu definieren. Ich habe versucht, die folgende Zeile in meine einzufügen .vimrc:

noremap <leader>cc echo "my purpose"

Aber das funktioniert nicht, <leader>ccführt immer noch den Plugin-Befehl aus.

Wie kann ich mein Mapping so definieren, dass es die vom Plugin definierten überschreibt?


Eine (zugegebenermaßen nicht großartige) Option ist, einfach die Quelle zu bearbeiten und die
— fehlerhafte

Antworten:


20

Plugins werden nach Ihrer Quelle bezogen, vimrcsodass es keine Möglichkeit gibt, eine Plugin-Zuordnung in Ihrer zu überschreiben, vimrcwenn das Plugin keine Möglichkeit bietet, dies zu tun.

Wenn Sie Ihr benutzerdefiniertes Mapping in platzieren ~/.vim/after/plugin/mystuff.vim(der Name der Datei spielt keine Rolle), können Sie das Plugin-Mapping überschreiben.


1
Das funktioniert bei mir nicht. Ich map <C-l> somethinglege dort hinein und es wird immer noch von Pydocstring überschrieben.
— oarfish

Gibt es eine Möglichkeit, dies für einen bestimmten Dateityp (wie ftplugin) zu tun?
— Steven Lu

Ich stimme dir auch zu, das funktioniert eigentlich gar nicht.
— Steven Lu

19

Wie in anderen Antworten erwähnt, werden die Plugins nach Abschluss des vimrc-Vorgangs bezogen.

Wenn Sie Ihre Außerkraftsetzungen in Ihrem vimrc behalten möchten, anstatt ein After-Plugin auszuführen, können Sie diesen "Trick" an einer beliebigen Stelle in Ihrer vimrc-Datei anwenden:

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

Von :help VimEnter:

VimEnter: Nachdem Sie alle Startvorgänge ausgeführt haben, einschließlich des Ladens von .vimrc-Dateien, führen Sie die Argumente "-c cmd" aus, erstellen Sie alle Fenster und laden Sie die Puffer darin.

Alles, was Sie in einen automatischen VimEnter-Befehl eingeben, wird ausgeführt, nachdem Vim bereit ist. Mit VimEnter diese Art und Weise können Sie alle Ihre Zuordnungen mit anderen Einstellungen zu halten , wo Sie halten sie verwendet werden: vimrc.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.