ctags(1)


ctags -- vi で使用するタグファイルの作成

形式

 
   ctags [-aBFtuvwx] [-f tagsfile] file . . . 

機能説明

ctags は、指定された C、Pascal、FORTRAN、YACC および LEX のソースから、ex(1) 用のタグファイルを作成します。タグファイルは、ファイルのグループにおける指定されたオブジェクト(この場合、関数と typedef)の位置を与えます。タグファイルの各行には、オブジェクト名、これを定義しているファイルおよびそのオブジェクト定義に対するアドレス指定が入ります。関数はパターン、typedef は行番号で検索されます。指定子はその行の別のフィールドで与えられます。これの区切り文字は <Space> または <Tab> 文字です。タグファイルを使用して、ex は素早くこれらのオブジェクト定義を見つけ出すことができます。

通常、ctags はタグ記述子を tags というファイルに出力します。これは、-f オプションにより変更することができます。

.c または .h で終わる名前を持つファイルは C ソースファイルと想定し、C ルーチンおよびマクロ定義について検索します。.y で 終わる名前を持つファイルは、YACC ソースファイルであると想定します。.l で終わる名前を持つファイルは LEX ファイルであると想定します。その他のものについてはまず Pascal または FORTRAN ルーチン定義が格納されているかどうかを調べ、格納されていない場合、再び処理され C 定義を検索します。

タグ main は C プログラムにおいて特別に扱われます。タグ formed は、それを含むファイル名の最後に .c がついていればこれを取り除き、また先頭のパス名も取り除いた file の前に M を付加した名前になります。これは、複数のプログラムを持つディレクトリにおける ctags の使用を実用的なものにします。

-a
出力を既存の tags ファイルに付加します。

-B
後方検索パターン(? . . . ?)を使用します。

-F
前方検索パターン(/ . . . /)を使用します(省略時解釈)。

-t
typedef についてタグを作成します。

-u
タグの中の指定されたファイルを更新します。つまり、これらへの参照をすべて削除し、新しい値をそのファイルに追加するということです。しかし、このオプションは、相当に遅い方法でインプリメントされるということに注意してください。通常は、tags ファイルを単に再構成したほうが速いようです。

-v
標準出力上に、関数名、ファイル名およびページ番号(64 行/ページを仮定)を表にしたインデクスを出力します。この出力は辞書順にソートされるので、その出力を sort -f に通しておくのが望ましいかもしれません。

-w
警告診断を保留します。

-x
オブジェクト名、行番号およびそれぞれが定義されているファイル名のリストを、その行のテキストとともに作成し、これを標準出力に出力します。これは、関数インデックスとしてプリントアウトすることのできる単純な形式です。

ファイル

tags
出力タグファイル

関連項目

ex(1), vi(1)

注意事項

FORTRAN および Pascal の関数サブルーチンおよびプロシージャプロシージャの認識は非常に単純な考え方により実行されます。ブロック構造を扱う試みは行われません。異なるブロックに 2 つの同じ名前の Pascal 手続きがある場合、一つしか判別できません。

C または Pascal および FORTRAN 関数を探すかどうかを決定する方法はありきたりのものです。

ctags#ifdefs については関知しません。

ctags は Pascal の型について情報を与えられていなければなりません。typedef の検出は、入力の形式がきちんと整っているかどうかによります。-tx を使用すると、typedef の最後の行だけが示されます。


SCO UnixWare Forum Beta Release (BL12) -- September 1997
© 1997 The Santa Cruz Operation, Inc. All rights reserved.