Wie kann ich die Stelle, an der eine Funktion in VIM definiert ist, schnell ermitteln?

3

Ich habe installiert taglist und nerdtree Plugins, und ich frage mich, ob es eine Möglichkeit gibt, schnell den Ort zu finden, an dem eine Funktion definiert ist, genauso wie was Control und drücken Sie Funktionsname in Eclipse tut? Hilfe wäre dankbar!

SpawnST
quelle

Antworten:

2

vim wird mit eingebauter ctags-Unterstützung geliefert. Wenn Sie eine haben tags Stellen Sie sicher, dass die Datei von vim gefunden wird, indem Sie sie der Variablen tags hinzufügen (prüfen Sie, ob die Standardeinstellung zuerst funktioniert).

:set tags+=/path/to/tags

Dann können Sie verwenden :tselect SOME_FUNC um die Dateispeicherorte aufzulisten. Möglicherweise müssen Sie nur die ersten Zeichen des Funktionsnamens eingeben und können diesen verwenden TAB fertigstellen.

Benjamin Bannier
quelle
Danke für die schnelle Antwort. Ich habe ein neues Verzeichnis erstellt /usr/include/tags zum tags und legen set tags+=/usr/include/tags in .vimrc, und scheinst noch was zu brauchen?
SpawnST
@SpawnST enthält Ihr Verzeichnis '/ usr / include / tags' irgendwelche 'tags'-Dateien?
akira
1
Sie müssen die Tags-Datei zum Starten generieren ctags *.c aus dem Verzeichnis mit Ihren Quelldateien. Sehen man ctags und auch diese Stapelüberlauf-Frage für weitere Tipps zu vim & amp; ctags: stackoverflow.com/questions/563616/vimctags-tips-and-tricks
mrucci
@ Akira, nein, was ist tags files, wie kann ich sie generieren?
SpawnST
@ mrucci, OIC, ich werde das überprüfen, danke.
SpawnST
1

Sie können den Cursor auch irgendwo in den Funktionsnamen setzen und drücken Ctrl-]


quelle