Już napisałem wtyczkę do wykonania całej ciężkiej pracy z ctags: Indexer.
Zapewnia bezbolesne automatyczne generowanie tagów dla całego projektu (projektów) i aktualizuje znaczniki. Tagi są generowane w tle, więc nie musisz czekać, podczas gdy ctags generuje znaczniki. Możesz go używać niezależnie lub jako dodatek do innej wtyczki project.tar.gz.
W pierwszej okazji, można zadeklarować swoje projekty w ~/.indexer_files
tak:
[CoolProject]
/home/user/cool_project
[AnotherProject]
option:ctags_params = "--languages=c++"
/home/user/another_project/src
/home/user/another_project/lib
A potem, kiedy otworzyć dowolny plik z /home/user/cool_project
, cały ten projekt będą indeksowane przez ctags. Po otwarciu tagów z innego projektu generowane są również dla nich znaczniki. Tagi z różnych projektów nigdy nie są mieszane. Podczas zapisywania pliku z projektu znaczniki są dyskretnie aktualizowane. Nie musisz się tym przejmować, to po prostu działa.
Aby uzyskać szczegółowe informacje, zobacz artykuł: Vim: convenient code navigation for your projects, który dokładnie opisuje użycie Indexer + Vimprj.
Jest z powodzeniem przetestowany na vim 7.3, w następujących systemach:
ArchLinux
Ubuntu 10.4
Windows XP
Mac OS X Lion
Ważne dodatkowe punkty! – Blixtor
@AI, czy istnieje podobne rozwiązanie dla systemu Linux ?! – Rafid
Dla systemu Linux wyobrażam sobie, że możesz uruchomić polecenie za pomocą &, aby wypchnąć go na drugi plan, nie? –