GNU GLOBALはソースファイルにタグをつけて、関数の宣言箇所や参照先に飛びつけるようにしてくれます。
さらに、vimやemacsのエディタ上からも利用でき、ソースを開きながら、見たい箇所にジャンプできます。
1.インストール方法
Ubuntuの場合はパッケージが用意さているので、以下でインストールできる。
sudo apt-get install global
2.タグの作成
GLOBALを利用するには、ソースからタグファイルを作る必要がある。
ソースやヘッダファイルが置かれたディレクトリで以下のコマンドを実行すると、そこをrootディレクトリとして、ディレクトリを下にたどってファイルを走査し、タグファイルを作ってくれる。
gtags [-v] <-- -vは詳細出力の指定でなくてもよい。
3.コマンドラインでの使用方法
作成したタグファイルがあるディレクトリ(gtagsを実行したディレクトリ)で以下のようなオプションと共に使用する。
コマンド |
機能 |
global 関数名 |
当該関数の定義があるソースファイル名を表示 |
global -r 関数名 |
当該関数の呼び出し箇所のソースファイル名を表示 |
global -f ファイル名 |
当該ファイルに含まれる関数定義の一覧を表示 |
global -c 関数名の一部 |
指定した関数名の一部で始まる関数の一覧を表示 |
global -g 検索文字列 |
タグに含まれるソースから検索文字列をgrepする |
※上記コマンドに-xをつけると詳細表示、-aをつけるとフルパスで表示。
4.vimエディタでの使用方法
vim上でGLOBALを使うには、GLOBAL用のプラグインのインストールが必要。
Ubuntuの場合、GLOBALをインストールすると、以下にプラグインファイルがあった。
/usr/share/doc/global/examples/gtags.vim.gz .
これを解凍し、$HOME/.vim/pluginにコピーすればOK。
cp gtags.vim /home/tomonari/.vim/plugin
使い方は「:」でコマンドモードから、以下のようにglobalコマンドのかわりにGtagsコマンドを実行すればよい。使えるオプションはglobalコマンドと同じ。
:Gtags -r func1
コマンドの結果はvimエディタの下側に[Quickfixリスト] として表示される。
検索結果の先に飛びたい場合は、コマンドモードで以下のようにする。
コマンド |
機能 |
:cn |
次の検索結果の先へ移動する。 |
:cp |
前のの検索結果の先へ移動する。 |
さらに、カーソール位置にある関数の定義先に飛びたい場合は、その状態で「:GtagsCursor」を実行する。更に関数の定義箇所にカーソルがある状態で「:GtagsCursor」すると、その関数の参照先に移動し、検索結果が[Quickfixリスト]に表示される。
なお、[Quickfixリスト]は、Ctrlを押しながらwを3回打ったあとににqをうつと抜ける。
5.HTML化
htagsコマンドを使うと、ソースをHTMLにしてくれ、関数名や変数名などタグが付けられた項目がハイパーリンクになり、リンクをクリックすると定義箇所や参照箇所が表示される。
作り方は以下のとおり。他のオプションについてはhtagsのmanを参照。
htags -ansxF
オプション |
機能 |
-a |
アルファベットの索引をつける。 |
-n |
行番号をつける。 |
-s |
関数だけでなくシンボル(変数など)にもリンクをつける。 |
-x |
(htmlではなく)xhtmlにする。 |
-F |
コンテンツをフレームで区切る。 |
最終更新:2011年11月29日 02:16