Ich möchte vim in einem beliebigen Unterverzeichnis in meinem Projekt starten und es bis zum Projektstamm für die Datei tags
durchsuchen lassen und dann in einem nicht verwandten Verzeichnis außerhalb der Projektstruktur suchen.
Sagen wir zum Beispiel, ich habe folgendes:
%Vor% Ich möchte baz.c
im Unterverzeichnis bar
öffnen, suche nach foo/tags
und suche dann nach some/arbitrary/path/tags
, wenn das Symbol nicht in foo/tags
gefunden wird.
Jetzt weiß ich, dass ich tun kann:
%Vor%um die erste Aufgabe zu erledigen. Es ist anscheinend das Semikolon, das vim sagt, bis zur Wurzel zu suchen. Jedoch keine der folgenden Arbeiten:
%Vor% Der erste findet nur Symbole aus ~/some/arbitrary/path/tags
, während der zweite nur Symbole in der Tag-Datei im Projektstamm findet.
Weiß jemand, wie man das macht? Ich bin auf Linux, kaufe den Weg.
Ich benutze:
%Vor%Zum Generieren von Tags in einem bestimmten Projektstamm:
%Vor%Ich habe dieses Setup aus dem C ++ - Codevervollständigungs-Vim-Tipp angepasst.
Deine erste "set tags" Option funktioniert bei mir unter Linux. (Wie zuvor, ich habe es vorher gemacht, und ich habe es nur neu erstellt, um sicher zu sein.) Sie können viele verschiedene Pfade in Ihrer Tag-Option haben, sowohl absolut als auch relativ. Im zweiten Fall haben Sie jedoch ein Semikolon in der Mitte der Liste, was inkorrekt ist. In der Tat brauchen Sie kein Semikolon. Ich würde auch das ~ mit dem absoluten Pfad zu deinem Haus ersetzen, nur für den Fall, und die Semikolons alle zusammen entfernen. Komm einfach zwischen jedem Pfad.
Oh, und um ein Verzeichnis nach der Tag-Datei zu durchsuchen, brauchen Sie "../tags", nicht "./tags". Ein einzelner Punkt bedeutet das aktuelle Verzeichnis, zwei Punkte bedeuten das Verzeichnis, in dem Sie sich befinden.
Befindet sich die Tag-Datei immer im Projektverzeichnis? Wenn dies der Fall ist, müssen Sie nicht nach der Tag-Datei suchen. Einfach den Pfad zu beiden Dateien wie folgt codieren:
%Vor%Wenn nicht, können Sie etwas wie folgt versuchen:
%Vor%Ich habe das nicht versucht, also musst du vielleicht damit experimentieren. Es gibt einige Voraussetzungen dafür. Siehe: Hilfedateisuche.
Die einzeilige Syntax für Set-Tags sollte lauten:
%Vor%Das Komma fehlte nach "Tags;"