Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimで飛び回りたい(ctagsを使用して定義元にジャンプしたい)

$
0
0

概要

クラスや関数、定数などの定義元にジャンプできるようにする
exuberant-ctagsではなくuniversal-ctagsを使用しています。設定ファイルの場所が異なりますので注意。

ctagsのインストールはこちらから

exuberant-ctagsじゃなくて、universal-ctagsをインストールしたい

ctagsの設定ファイル

~/.ctags.d/<名前任意>.ctagsに設定を書けば、読み込んでくれる
(exuberant-ctags を使用している場合は~/.ctagsに設定)

~/.ctags.d/config.ctags
--php-kinds=cdfin

上記は、「PHPのタグファイルを作成する際、クラス・定数・関数・インタフェース・ネームスペースのタグを作ってね」という設定

念のためコマンドたたいて確認してみる

ctags --list-kinds=php

指定したもの以外は[off]になっているのが分かります。

出力
c  classes
d  constant definitions
f  functions
i  interfaces
l  local variables [off]
n  namespaces
t  traits [off]
v  variables [off]
a  aliases [off]

タグファイル作成

プロジェクトのルートディレクトリで

ctags -R--languages=php

今回はPHPのファイルのみに対して作成するため --languages=phpのオプションを指定。
tagsというファイルが作成される(ファイル名を指定したい場合は、-fオプションで指定可能)

.vimrcに設定を記載

タグファイルのパス指定

  • tagsではなく./tagsと指定すると、カレントディレクトリではなく開いているファイルのディレクトリからtagsファイルを探してくれる
  • ;$HOMEとすることで、ホームディレクトリまで遡ってtagsファイルを探してくれる
.vimrc
settags=./tags;$HOME

候補が複数ある場合は一覧表示

.vimrc
nnoremap <C-]>g<C-]>
inoremap <C-]><ESC>g<C-]>

レッツジャンプ

キー動作
Ctrl + ]宣言元へジャンプ
Ctrl + t (または Ctrl + o )戻る

便利です~~~~。

参考

CtagsでVimにタグジャンプ機能を追加する - Qiita
ctagsをちゃんと使う - Qiita


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>