GNU global und vim

7

Hat jemand GNU global mit vim verwendet? Ich navigiere durch eine große C ++ - Codebasis und habe Probleme, herauszufinden, wie ich sie verwenden soll. Ich möchte die gtags-cscope-Funktionalität verwenden, kann aber nicht herausfinden, wie eine Querverweisdatenbank generiert wird, die ich später mit vim verbinden kann.

Jede Hilfe bei der Suche nach der Lösung wird geschätzt.

Blitzbrand
quelle
1
GNU Global unterstützte JavaScript nicht, als ich es ausprobierte, aber es funktionierte gut mit PHP und IIRC. Die Vim-Integration war ziemlich einfach. Können Sie genau beschreiben, was Sie versucht haben und wie es fehlgeschlagen ist?
Romainl
@romainl Ich bin an normales cscope gewöhnt. Was mich verwirrte, war, welche Datei als Querverweis für eine Datenbank verwendet werden sollte. Es gibt mehrere Dateien, aber ich erhalte anscheinend das gleiche Ergebnis, unabhängig davon, was ich für eine Datenbank verwende. Das Tool liefert nicht immer das richtige Ergebnis. Haben Sie Probleme damit gehabt? Dies ist die Codebasis, die ich zu navigieren versuche
Flashburn
Ich verwende GNU Global Cscope für meine PHP-Projekte. Ich benutze die Anweisungen hier . Zusammengefasst: :set csprg=gtags-cscope, :cs add GTAGS. Haben Sie diese Befehle zumindest ausgeführt?
Peter Rincker
@ PeterRincker Ja, das habe ich. Ich finde nicht immer das richtige "Ding" für mich.
Flashburn

Antworten:

2

Die Distribution von GNU Global enthält bereits einige Vim-Skripte, die sehr praktisch sind.

Suchen Sie im Installationsverzeichnis von Global nach 'gtags.vim' und 'gtags-cscope.vim' (wahrscheinlich am besten für das, was Sie wollen) und kopieren Sie einfach das gewünschte Verzeichnis in das Verzeichnis 'plugins' in der Konfiguration von vim. Das zweite Skript führt a aus

    set csprg=gtags-cscope

für Sie, die alle normalen cscope-Befehle über den gtags-Anbieter weiterleitet und daher bei der Suche die Datenbank von GNU Global verwendet.

Ich bevorzuge es einfach, den Befehl: Gtags direkt zu verwenden, was ich einfacher finde, aber für jeden sein eigenes.

Das Plugin gen_tags kann auch dazu beitragen, Ihre Quellcode- Datenbank direkt aus vim heraus einfach wiederherzustellen .

n00bmind
quelle
1

Verwenden Sie im Quellcodeverzeichnis den folgenden Befehl:

find . -name '*.cpp' -o -name '*.h' > gtags.files
gtags --accept-dotfiles -c -f gtags.files

Dadurch wird der Querverweis erstellt.

In vim können Sie den folgenden Befehl ausführen, um gtags-cscope aufzurufen

:GtagsCscope
user4688
quelle