鶏頭のプログラム

Ruby, Javascript, C言語, SQLなどのプログラミング

vimのctags

vimを使用していると当然関数ジャンプが使用したくなります。
そんときに有用なのがctagsでしょう。(まぁ、vimじゃなくても使うんですが)

私は自宅ではMac, 会社ではLinux(CentOS)を使っているので
Macの場合は

$ sudo port install ctags

CentOSの場合は

$ yum install ctags

でインストールを行いました。

C言語の場合下のようなコマンドを打ってタグを作成するわけですが

$ ctags -R --langmap=c:+.h --languages=c

毎回こんなのを打っているとめんどくさい訳です。

そこで登場するのがvimのauto-ctags.vim

$ cd ~/.vim/bundle/
$ git clone https://github.com/soramugi/auto-ctags.vim
$ vim ~/.vimrc

.vimrcを下記のように

function! s:LoadBundles()
  " 読み込むプラグインの指定
  NeoBundle 'soramugi/auto-ctags.vim'
  
  " 読み込んだプラグインの設定
  let g:auto_ctags = 1
endfunction

auto-ctags.vimの設定が行われているとファイルを保存するたびにctagsのコマンドを
発行してくれる。
また明示的に

:Ctags

vim上でを打つとctagsコマンドを実行してくれる。

ただ、私の環境ではファイルを保存するたびに

finish が取込スクリプト以外で使用されました。

というよくわからないエラーが発生していました。
調べてみると不具合であることが判明。

参考:Vim - ctagsと連携するように環境を構築する - Qiita

$ cd ~/.vim/bundle/auto-ctags.vim/
$ git pull

で問題解消。
Rubyのファイルもこれで問題なく解決。
よいvimライフを!