Autocomplete von vim: Wie kann man verhindern, dass vim einige Include-Dateien liest?

10

Vim verfügt über eine praktische Strg-N-Taste, mit der das Wort unter dem Cursor automatisch mit dem Wort in der aktuellen Datei oder einer beliebigen enthaltenen Datei vervollständigt wird. Wenn ich einmal eine Boost-Bibliothek eingebunden habe, wird diese Funktion völlig unbrauchbar, da das Lesen ganzer Boost-Includes Dutzende von Sekunden in Anspruch nimmt und ich wirklich nichts ausführen möchte, was in Boost ohnehin definiert ist. Wie kann ich vim also anweisen, das Verzeichnis / usr / include / boost bei der Suche nach Include-Dateien zu ignorieren? Oh, wie kann ich die Option 'include' setzen, um #include <boost /.*> zu ignorieren?


quelle

Antworten:

16

Die gesuchte Option ist "vollständig" , definiert jedoch nicht die gewünschte Granularität. Sie können lediglich angeben, ob die enthaltenen Dateien gescannt werden sollen oder nicht. Sie können das Scannen aller enthaltenen Dateien deaktivieren

set complete-=i

Andernfalls ist die Einstellung " 'include'Boost ignorieren" möglicherweise die beste Option.

set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!

Beachten Sie, dass Sie, wie in meinem anderen Kommentar erwähnt, "die Option nicht verwenden sollten , da dies das Kommentarzeichen von Vim ist. Stattdessen müssen Sie den Leerzeichen entkommen.

Jamessan
quelle
1

Ok, ich habe die Antwort auf den zweiten Teil gefunden:

set include="#include \\(<boost\\)\\@!"

quelle
Eigentlich haben Sie gerade die Option include deaktiviert.
msgstr