Hatena::Groupprogram

lnzntのプログラミング日記 このページをアンテナに追加 RSSフィード

2012年05月13日(日)

GNU GLOBAL

18:48 | GNU GLOBAL - lnzntのプログラミング日記 を含むブックマーク はてなブックマーク - GNU GLOBAL - lnzntのプログラミング日記 GNU GLOBAL - lnzntのプログラミング日記 のブックマークコメント

GNU GLOBAL についてです。(間違えて他の日記に書いてしまった。。。)

以下の記事がとてもわかりやすくて大変参考になりました。

----

以下、要点のみメモです。

global は ctags のようなタグをつけるツールです。

インストール

インストールは、ubuntu では

$ sudo apt-get install global

です。

タグ作成

タグの作成は以下のようにします。

$ gtags -v    # -v は verbose オプション

XHTMLも作成できます。例えば、以下のようにします。

$ htags -ansx

global コマンド

gtags でタグを作成した後は、コマンドラインで以下のように使えます。

$ global [option] 関数名|ファイル名|...

Vim で使う

Vim からも、exコマンドで以下のように使えます。

:Gtags [option] 関数名|ファイル名|...

他にも :GtagsCursor コマンドなどがあります。

ただし、Vim で使う場合は、プラグインを事前にインストールする必要があります。

私の環境では以下のようにしました。

$ mkdir ~/.vim/plugin
$ cd !$
$ gunzip -c /usr/share/doc/global/examples/gtags.vim.gz >gtags.vim

----

その他 (利便性向上)

bash-completion で global の引数補完をする関数です。

~/etc/profile.d/conf/bash/11_global (.bashrc でロードしている)

_global()
{
   local cur=${COMP_WORDS[COMP_CWORD]}
   COMPREPLY=(`global -c $cur`)
}
complete -F _global global

~/.vimrc の追加設定

map <C-g> :Gtags
map <C-i> :Gtags -f %<CR>
map <C-j> :GtagsCursor<CR>
map <C-n> :cn<CR>
map <C-p> :cp<CR>