Code-Completion im VIM (v7.1) mittels ctags und OmniCppComplete

Download des OmniCppComplete-Packages und entpacken des Inhalts ins Verzeichnis ~/.vim. Danach den VIM öffnen und :helptags ~/.vim/doc/ (im Kommando-Modus) ausführen. Nun sollte die Hilfe zum Package im VIM verfügbar sein. Davon überzeugen wir uns mittels :h omnicppcomplete. Wer Zeit hat, der kann sich jetzt in aller Ruhe die Hilfe ansehen. Für die Eiligen geht's hier weiter.

Wir müssen nun die Verwendung von Plugins in der .vimrc aktivieren. Dies geschieht mittels der beiden Zeilen:
set nocp
filetype plugin on
Als nächstes erstellen wir die Tags-Datei(en). Dazu verwenden wir das Tools ctags von Darren Hiebert (man 1 ctags bzw. Exuberant CTags). Um dies zu verdeutlichen habe ich eine kleine Header-Datei erstellt, die eine Typdefinition und drei Prototypen enthält:
...
typedef struct __test_struct {
    int x;
    double y;
} test_t;

int test_calc_sum( int x, int y );
double test_calc_mult( double x, double y );
void test_output();
...
Wir wechseln nun in das Verzeichnis, in der unser Code (den wir taggen wollen) liegt und führen nun das Tagging durch. Dazu geben wir folgendes am Shell-Prompt $ ein:
$ ctags -R -f test.tags --c-kinds=+p --fields=+iaS *
Mittels -R durchsuchen wir auch alle Unterverzeichnisse, -f <name> ist die Datei, die am Ende die Tags aufnimmt (hier einfach test.tags genannt). Mittels --c-kinds=+p sagen wir, dass wir C-Code taggen wollen und an Prototypen (+p) interessiert sind. Es lohnt sich ein Blick in die Manpage, diese erklärt die (restlichen) Parameter ziemlich gut.



Abschließend müssen wir noch die Datei mit den Tags in VIM einbinden. Dazu öffnen wir die .vimrc und geben folgende Zeile ein:
set tags+=/pfad_zum_tagfile/test.tags
pfad_zum_tagfile muss natürlich durch etwas Sinnvolles - wie zum Beispiel dem Pfad zu Deiner Tag-Datei - ersetzt werden.

Jetzt können wir VIM öffnen und das Ganze ausprobieren. Im Einfügen-Modus geben wir einfach mal das Wörtchen test ein und drücken dann <Strg+x><Strg+o>. Es sollte sich nun ein kleines Popup-Fenster (wie in der Abbildung oben) öffnen.
 
 Artikel als Bookmark:
Beitrag wurde bisher 1334 mal geöffnet
RA Zabel/Stolze
  • 96 Artikel  (zeigen)
  • 66551 Klicks
  • 56 Kommentare
  • 9 Artikel (2010)  (zeigen)
  • 1855 Klicks (2010)
  • 0 Kommentare (2010)
Freunde / Linkparade (4)