Edited at

Vim + Rails + ctags

More than 5 years have passed since last update.


目的


  • Macで動く

  • Railsプロジェクト内のソースはもちろん

  • 依存するgemsも参照したい

  • 出来れば自動で


道のり

Macはctags入っているけど古いのでbrewでいれる。

古いMacだと入ってないかもしれないので、その場合もbrewでいれる。

brew install ctags

古い方向いているので、alias向けておこう。

任意のディレクトリで、

ctags -R

とかやると、tagsが生成される。

gemsだけなら、

ctags -R `bundle show --paths`

でワンライナーでいけるっぽい。

要するに上のふたつをvimでAutoCommandすりゃいい。


結果

で、結果として、素晴らしいpluginがあった。

書かなくてよかった。

vim-tags

https://github.com/szw/vim-tags

Vundlerなどでインストールして軽く設定する。


ctags.vim

let g:vim_tags_project_tags_command = "/usr/local/Cellar/ctags/5.8/bin/ctags -f .tags -R {OPTIONS} {DIRECTORY} 2>/dev/null &"                                                                                                    

let g:vim_tags_gems_tags_command = "/usr/local/Cellar/ctags/5.8/bin/ctags -R -f .Gemfile.lock.tags `bundle show --paths` 2>/dev/null &"

set tags+=.tags
set tags+=.Gemfile.lock.tags


デフォだと古いctagsが動いちゃって困るので、fullpathで書いておく。

もしくは/usr/bin/ctagsを消してsymlink貼るなど。オススメしないけど。

あと、デフォルトで生成されるtags, Gemfile.lock.tagsという名前が気に入らなかったので、先頭に.(dot)をつけた。

.gitignoreに書いておこう。

forkして書き換えた方が良かったかなとも思いつつうまく動いているのでよし。