vimコマンドとGNU GLOBALというツールを組み合わせて、Linux環境でのエディタ環境を構築します。
GNU GLOBALと組み合わせると、関数ジャンプや関数呼び出し一覧表示やジャンプができるようになり、ソースコードの解析が早くなります。
また、Linux環境でのエディタの使い方を覚えることで、解析以外の作業の効率化にも繋がります。
例えば、Linux系OSのサーバにあるコードの解析をする時、わざわざWindowsのローカルマシンにソースをコピーして、グラフィカルなエディタで解析をしている場合、
サーバからソースをダウンロード・アップロードする手間・時間が省かれ、サーバ上でソースを編集してすぐ実行できるようになります。

この記事では、環境構築と、使い方をまとめます。

環境構築:
1. vimコマンドのインストール
2. GNU GLOBALのソースコードをダウンロード(https://www.gnu.org/software/global/
3. GNU GLOBALのソースコードをmake(configureしてmake)
4. 「3」でできたglobalとgtagsをホームディレクトリのbin(~/bin)にコピー(パスが通っている場所ならどこにコピーしても問題なし)
5. 「3」でできたgtags.vimを~/.vim/plugin(無いならディレクトリを作成)へコピー 

初期設定(.vimrc):
.vimrcの設定は以下にする(あくまで私の設定です。慣れたらカスタマイズしましょう)
*先頭の数字は行番号なので無視してください
  1 map <C-h> :Gtags -f %<CR> ←関数一覧表示
  2 map <C-j> :GtagsCursor<CR> ←関数定義へジャンプ
  3 map <C-n> :cn<CR> ←関数呼び出しなどの別ウィンドウのリストで下に移動するため
  4 map <C-p> :cp<CR> ←関数呼び出しなどの別ウィンドウのリストで上に移動するため
  5 map <C-g> :Gtags ←Gtagsコマンド入力を楽にするため(後述の:Gtagsの入力をCtrl + gに置き換えることができます)
  6 set number ←常に行番号を表示するため

コマンド使い方: 
vim + GNU GLOBALコマンド一覧
コマンド説明
gtags -v解析するソースのトップディレクトリで実行する。これをしないと関数ジャンプができない。なお、vimでのコマンドではなく、vimコマンド実行前の前準備。
Ctrl + j関数定義へジャンプ。定義で使うと呼び出し一覧表示
Ctrl + oジャンプ元へ戻る
Ctrl + iジャンプ元へ戻るを戻る
Ctrl + n関数一覧などの別ウィンドウのリストの下へ移動
Ctrl + p関数一覧などの別ウィンドウのリストの上へ移動
Ctrl + h現在のファイルの関数一覧
G最終行へジャンプ
yyカーソル行をコピー
pペースト
uアンドゥ
*カーソル位置の単語を下へ検索
#カーソル位置の単語を上へ検索
n次の候補へ移動
N前の候補へ移動
:数字数字の行数へジャンプ
:Gtags 関数名関数ジャンプ
:Gtags -r 関数名関数呼び出し一覧
:Gtags -g 文字列文字列をgrep

参考書籍:Linuxコマンドポケットリファレンス

この記事が参考になりましたら、他の方へもシェアしていただけると嬉しいです。

スポンサードリンク