Ich habe gerade ein Plugin für Python installiert, das den Methodenbaum anzeigt. Daher möchte ich den Baum beim Start öffnen, daher muss ich die Tasten nicht jedes Mal drücken, wenn ich eine .py
Datei öffne . Ich möchte jedoch, dass dieser Befehl nur für .py
Dateien ausgeführt wird. So sieht mein vimrc-Stück aus:
nmap <F8> :TagbarToggle<CR>
Gibt es eine Möglichkeit, diesen Befehl beim Start nur für .py
Dateien auszuführen ?
normal-mode
startup
St.Antario
quelle
quelle
Antworten:
Fügen Sie hinzu
.vimrc
:wo
au
istautocmd
der Befehl automatisch, auszuführen.BufEnter
ist, wenn Sie die Datei zum ersten Mal eingeben.*.py
ist für Dateityp Python.quelle
.vimrc
Befehl hinzu. Um dies zu verhindern, sollte die Zeile von einer Gruppe umgeben sein, die den Befehl löscht. Siehe:help augroup-delete
.Meiner Meinung nach besteht die sauberste Methode darin, den Befehl einfach zu einer Datei in Ihrem
.vim/vimfiles
Verzeichnis hinzuzufügen :oder für Windows:
Diese Technik ist in
:help ftplugin-overrule
(Listenpunkt 3) dokumentiert , obwohl der Kontext (Ändern der Einstellungen) etwas anders ist.Es bietet die folgenden Vorteile gegenüber der von kapil beschriebenen Autocommand- Technik .
Weniger Code . Sie schreiben einfach das Vimscript, das Sie ausführen möchten. Sie müssen keinen automatischen Befehl codieren und ihn mit Befehlen umgeben
augroup
undautocommand!
löschen.Weniger Overhead . Vim erkennt bereits den Dateityp und prüft, ob die
after/ftplugin/filetype
Datei vorhanden ist: Warum sollte ein zusätzlicher Autobefehl hinzugefügt werden, der denselben Zweck erfüllt?Reiniger
.vimrc
. Ich denke, es ist besser, datentypspezifische Funktionen von meinen zu trennen.vimrc
. (Einige sind damit jedoch nicht einverstanden: siehe die Nachteile unten.)Es hat auch ein paar kleinere Nachteile:
Dies funktioniert nur, wenn Sie die Dateityperkennung von Vim verwenden. (
:help filetype
)Dies ist jedoch im Allgemeinen eine der ersten Einstellungen, die Benutzer in ihrer .vimrc aktivieren, und ich würde wetten, dass fast alle Vim-Benutzer sie bereits aktiviert haben.
Einige Leute bevorzugen es, ihre gesamte Konfiguration in ihrer
.vimrc
Datei zu behalten .quelle
ftplugin/<filetype>.vim
, bessere Trennung von Bedenken :)