Ich bin im Ordner E:\dir\python_file.py
, :pwd
zeigt E:\dir
. :e tags
öffnet die Tags-Datei, mit der ich generiert habe ctags -R
.
Ich habe mich auf das tags
eingestellt, was vernünftig erscheint: set tags?
Shows set tags=./tags,tags;E:\
. Verbose set tags
zeigt nur mein vimrc.
Mit :tag method_name
wirft zwei Fehler: E433: No tags file
und E426: tag not found: method_name
.
Ich bin unter Windows.
gvim -u NONE -U NONE
funktioniert es gut, also muss ich nur ein Plugin haben, das etwas Seltsames macht.Antworten:
wildignore
hatte ein nachkommendes Komma.Mein vimrc
set wildignore=*.png,
hatte ein nachkommendes Komma. Das Ändern hatset wildignore=*.png
mein Problem gelöst.Es stellt sich heraus, dass das nach
:set
einer Weile irgendwoftplugin/python.vim
funktioniertset wildignore+=*.pyc
, weil es einfachset wildignore=*.png,
nicht ausreicht, um die Tags zu brechen. Der Wildignore, den ich hatte, nachdem ich eine .py-Datei geöffnet hatte, warwildcard=*.png,,*.pyc
, und wenn Sie vim mit öffnenvim -u NONE -U NONE
, werden Tags kaputt gehen.Vim muss eine Verkettung durchführen und ein Komma hinzufügen, wenn die Einstellung nicht leer ist, aber nicht nach einem vorhandenen nachgestellten Komma sucht. Ich glaube, ich habe gerade einen Fehler gefunden.
Es stellte sich heraus, dass es sich um einen Fehler handelte, der inzwischen behoben wurde .
quelle
set wildignore=*.png,
reicht nicht aus, um dies zu verursachen. Vielleicht bleibt das Parsen also mit einem nachgestellten Komma hängen ?+=
eine Einstellung verwenden, bei der es sich um eine durch Kommas getrennte Liste handelt, wird immer ein Komma hinzugefügt, es sei denn, es ist leer, da Sie versuchen, der Liste etwas hinzuzufügen. Wenn Sie das vorhandene Komma verwenden, wird das leere Element entfernt. Welches ist wahrscheinlich unerwartet. (:help :set+=
) (Jedoch könnte der leere Gegenstand, der alles ignoriert, ein Fehler sein)