2012-03-25 19 views
1

Ich lerne gerade die CTags-Funktionalität von Vim kennen - und es ist verdammt praktisch.Vim & Ctags: Gemeinsame Ctags über alle Projekte?

Ein Problem habe ich jedoch, generelle Tags für jedes Projekt neu zu generieren.

Zum Beispiel - ich habe ein gutes Stück Arbeit in Schienen, und wie ctags für den ganzen Schienen Rahmen mit

alias rctags="ctags -R `bundle show rails`/../*" 

Die Ausgabe erzeugen ist, ich habe dieses Projekt für all Schienen zu tun, ich starte .

Also, was ist der normale Weg, um automatisch einen Satz von Tags in jeder vim-Sitzung zugreifen - ideal nur dann, wenn die geöffnete Datei eine bestimmte Bedingung erfüllt. (ZB Schienen ctags für .rb Dateien vorinstalliert, aber nicht Py-Dateien)

Irgendwelche Ideen

geschätzt

Antwort

2

:help 'tags' See.

Sie könnten zum Beispiel verwenden:

set tags+=~/.rails-tags 

Welche für Tags verursachen würde ~/.rails-tags gesucht werden.

(auch zum Thema tags: es ist wahrscheinlich sinnvoll, die tags Variable mit ;/ Suffix Dies bedeutet, „in jedem Elternteil des Arbeitsverzeichnis für eine Tags-Datei suchen (zB alle Dateien /foo/bar/tags, /foo/tags und. . /tags durchsucht zum Beispiel verwende ich: set tags=tags;/)

2

Warum nicht Plugin verwenden Indexer, die speziell gemacht wurde, um die ctags in Vim für die Verwaltung

Sie können Ihr Projekt in ~/.indexer_files wie folgt definieren:.?

[my_rails_project] 
/path/to/the/needed/directory 

oder sogar

[my_rails_project] 
option:ctags_params = "--languages=Ruby" 
/path/to/the/needed/directory 

Dann jedes Mal, wenn Ruby-Datei geöffnet (d *.rb oder *.ruby) aus dem Verzeichnis /path/to/the/needed/directory (mit Unterverzeichnissen, natürlich), Ihre Tags werden automatisch im Hintergrund generiert, und wenn Sie eine Datei aus diesem Projekt speichern, werden die Tags auch automatisch aktualisiert (wieder im Hintergrund) .

Also, Sie sollten nicht auf Ihre Tags Generation kümmern, es funktioniert einfach.

Weitere Informationen finden Sie im Artikel: Vim: convenient code navigation for your projects, der die Verwendung von Indexer + Vimprj gründlich erläutert.

Verwandte Themen