2012-04-12 24 views
4

Ich verwende vim-rails und ctags für die Navigation von Methoden. Dafür betreibe ich ctags -R * in /home/***/.rvm/gems/ruby***/gems. Aber in diesem Verzeichnis gab es viele Ordner für nur eine Edelsteine ​​nur verschiedene Versionen (zum Beispiel activerecord v. 3.0.7/3.1.3/3.2.2/3.2.3). Und wenn ich versuche, zu (ctrl+]) Methode zu gehen, komme ich zur alten Version. Wie kann ich Ctags nur mit der neuesten Gems-Version ausführen?Ctags generieren neueste Version Edelsteine ​​

Antwort

11

Sie bundler zeigen die Standorte für die Edelsteine ​​in der gemfile mit

bundle show --paths 

Wenn Sie Rohr machen können anhängen Diese Liste in Ctags Ich denke, Sie werden haben, was Sie brauchen.

bundle show --paths | xargs ctags -R 

edit: in diesem Blogpost Zusammengefasst: http://heim.no/VIM/2012/04/19/generate-ctags-for-all-bundled-gems-in-a-ruby-project/

+0

Sie haben Recht! Es ist so viel besser! Vielen Dank! – Eugene

+0

Andreas, danke für die Info. Ich habe diese Frage vor ein paar Monaten in Ihrem Blog gepostet, bin aber noch nicht dazu gekommen: Ich habe ein Problem darin gefunden. Ich kann nur zu den Tags gehen, wenn ich aus einer Datei in meinem Projekt stamme. Sobald ich in einer Datei bin, die in einem der Edelsteine ​​enthalten ist, die ich verwende, kann ich keiner der Methoden, die in dieser Datei genannt werden, nach ihrer Methodendefinition folgen. Ich glaube, es ist, weil es nicht weiß, wie man die Ctags-Datei relativ zu der Datei findet, die ich gerade durchsuche. Hattest du irgendwelche Probleme wie ich sehe? – Tonys

+0

Tony, scheint, als müsste ich das ein bisschen überprüfen und ein Update posten (wie ich vor ein paar Monaten gesagt habe) :) –

0

Workaround: Ich bin mir nicht sicher, eine direkte Methode, aber Sie haben immer die Möglichkeit, die "Tags" -Datei manuell zu bearbeiten, suchen/ersetzen für alle älteren Edelsteine ​​Versionen und löschen Sie sie oder löschen Sie alle Edelsteine Abschnitte und später Sie in die Tags-Datei mit [ctags -a 3.2.3]

+0

Ja, ich weiß. Aber 'tags' Datei hat mehr als 63000 Zeilen und die manuelle Bearbeitung ist keine gute Idee. Und entfernen Sie alle Edelsteine ​​erwarten für die neueste Version ist auch keine gute Idee, denn ich brauche vielleicht später ältere Edelsteine ​​Version. Meine erste Frage ist nicht korrekt. Wie kann ich die Gems-Version verwenden, die in Gemfile verwendet wurde? – Eugene

Verwandte Themen