パスワードを忘れた? アカウント作成
629187 journal

mumumuの日記: exuberant ctags for vim 2

日記 by mumumu

私はvi使いだ。昨日のエントリで、「ソースのシンボルを追う
のにいちいちgrepしたりヘッダファイルを推測したりする」
と書いたところ、umqさめからctagsの存在を教わった。
これを使えばvimから「 ctl-[ 」及び「 ctl-T 」するだけで
シンボルを追うことができる。

----以下インストールメモ----

Windows環境(今の私の環境はXP)用のvimその他のバイナリは
以下にあるのでそこからDLする。(vimのctagsプラグインはvim
本体に同包されている)

「vim本体日本語対応版」

「libiconv Binary for Windows」

「exuberant ctags」

vim本体は適当なディレクトリに、その他二つはsystemフォルダ
(私の環境では「C:\WINDOWS\system32」)に放り込んでおいた。

ctagsを使うにはtagファイルを作らねばならない。
私はc:\work\gaim\src下のファイルを読んでいて、依存する
gtk+系のライブラリをc:\work\gtk+, c:\work\glib下に置い
ている。そこで、gaim\src下にタグファイルを作り、vimには
それを見させることにする。

cd c:\work\gaim\src
ctags -R --tag-relative -f c:\work\gaim\src\tags *
cd c:\work\gtk+
ctags -R -a --tag-relative -f c:\work\gaim\src\tags *
cd c:\work\glib
!ctags

この後c:\work\gaim\srcに移動してvimでCソースを開けば、
「 ctl-[ 」及び「 ctl-T 」でシンボルを追い放題という
わけだ(*´~`) なかなかよろしい。

----

ついでにTaglistプラグインも入れておいた。これはウィン
ドウの左側にシンボルを表示してくれるというスグレモノで
ある。(スクリーンショット

インストール方法は、.vimファイルをここからDLしてvimのプラ
グインフォルダに置き、.vimrcファイルに以下の一行を付け加え
れば良い。

filetype on

----

今夜はLinux環境で同じことを試すことにしまする。
情報をくれたumqさん、及びこれらのソフトウェアを作ってく
れた先人の方々に感謝(*´~`)

[ Update April 2nd 17:55 JST by m ]

ctagsは現在開いているソースがあるディレクトリにtagsとい
う名前のファイルがあることを期待する。これでは私がやって
いるように複数のディレクトリレベルに渡ってタグファイルを
(本当は)配置したい人の役に立たないのだ。なぜなら別ディ
レクトリ中のソースに飛ぶには「今見ているソースがあるディ
レクトリ」のtagsファイルにその情報がなくてはならないから
である。

そのための対処はFAQであり、ここで見ることができる。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by tt (2867) on 2004年04月02日 21時45分 (#525691) 日記
    ソース見るのと書くのを別にするので、HTML形式のクロスリファレンス作ってブラウザとemacsを並べてコーディングってのが多いです。

    ctagsにはどーも慣れられないんですよね…

    --
    -- Takehiro TOMINAGA // may the source be with you!
    • ふむ。とりあえず私はまだソースを読む側なので、書くところ
      までは考えていません。

      JavaならEclipseで両方やるところですが、Cでは多分両方
      ctagsでやることになるのかな、、と。

      ただ、まだ複数ディレクトリにtagsファイルを置いたときの
      挙動をどう制御するかを悩んでいます。これが解決すれば
      一貫してctagsを使うようになるのでしょうが(´ー`;)
      --
      # 無精、短気、傲慢、これ最強
      親コメント
typodupeerror

人生unstable -- あるハッカー

読み込み中...