名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
/usr/bin/ctags [-aBFtuvwx] [-f tagsfile] file...
/usr/xpg4/bin/ctags [-aBFuvwx] [-f tagsfile] file...
ctags ユーティリティは、C、C++、Pascal、FORTRAN、yacc(1)、 lex(1) の指定されたソースから ex(1) 用のタグファイルを作成します。タグファイルは、ファイルのグループにおける指定されたオブジェクト (この場合は関数と型定義) の位置を示します。タグファイルの各行には、オブジェクト名、それが定義されているファイル、およびオブジェクト定義のアドレス指定が含まれます。関数はパターンによって検索され、型定義は行番号によって検索されます。指定子は、行の個別のフィールドに指定され、空白または TAB 文字で区切られます。タグファイルを使用すると、ex はこれらのオブジェクト定義を簡単に検索できます。
通常 ctags は、tags というファイルにタグの記述を入れます。これは、-f オプションによって変更にできます。
名前が .c または .h で終わるファイルは、C または C++ のソースファイルとみなされ、C または C++ ルーチンとマクロ定義が含まれていないか調べられます。名前が .cc、.C、または .cxx で終わるファイルは、C++ ソースファイルとみなされます。名前が .y で終わるファイルは、yacc ソースファイルとみなされます。名前が .l で終わるファイルは、lex ファイルとみなされます。これ以外のファイルは、まず Pascal または FORTRAN のルーチン定義が含まれていないか調べられます。これらの定義が含まれていないファイルは、再度 C 定義について検索されます。
タグ main は、C または C++ プログラムでは特別に処理されます。タグ formed は、file の先頭に M を付け、最後に .c 、.cc、.C、または .cxx があれば削除し、先頭のパス名構成要素も削除して、書式が作成されます。これにより、複数のプログラムが置かれているディレクトリでも ctags を利用できます。
出力に関するオプションの優先順位は、-x、-v、そして残りのオプションという順になります。次のオプションを指定できます。
既存の tags ファイルに出力を追加します。
後方検索パターン (?. . . ?) を使用します。
tags ではなく、ファイル tagsfile にタグ記述を入れます。
前方検索パターン (/. . . /) を使用します (デフォルト)。
型定義のタグを作成します。/usr/xpg4/bin/ctags は、デフォルトで、型定義のタグを作成します。
タグ内の指定したファイルを更新します。つまり、これらのファイルへの参照はすべて削除されて、ファイルに新しい値が追加されます。このオプションを指定すると実行速度が遅くなるので注意してください。通常、単に tags ファイルを作成し直す方が、速く実行できます。
標準出力上に関数名、ファイル名、およびページ番号をリストする索引を出力します (64 行のページを想定)。出力は、辞書編集方式の順にソートされるため、出力を sort -f に通しておくのがよいでしょう。
警告診断を抑制します。
オブジェクト名、各オブジェクトが定義されている行番号とファイル名、およびその行のテキストを作成して、標準出力に出力します。これは、オフラインで読み取ることのできる関数索引として出力可能な単純な索引です。
次の file オペランドを指定できます。
.c 接尾辞で終了するベース名を持つファイルは、C 言語のソースコードとみなされます。
.h 接尾辞で終了するベース名を持つファイルは、C++ 言語のソースコードとみなされます。
.f 接尾辞で終了するベース名を持つファイルは、FORTRAN 言語のソースコードとみなされます。
-v オプションは、オプションとして提供される BSD 互換性パッケージに含まれている vgrind で主に使用されます。
-v オプションを付けて ctags を使用すると、vgrind に対して必ずしも適切とはいえない順序でエントリが作成されます。結果をアルファベット順で生成するには、出力を sort -f に送るようにします。
example% ctags -v filename.c filename.h | sort -f > index example% vgrind -x index |
sourcedir をルートとするディレクトリ階層に C ソースのタグファイルを作成するには、まず空のタグファイルを作成してから、find(1) を実行します。
example% cd sourcedir ; rm -f tags ; touch tags example% find . \( -name SCCS -prune -name \\ '*.c' -o -name '*.h' \) -exec ctags -u {} \; |
空白は、ここで示されたとおりに正確に入力してください。
ctags: の実行に影響を与える環境変数 LC_COLLATE、 LC_CTYPE、 LC_MESSAGES、 NLSPATH については、environ(5) のマニュアルページを参照してください。
次の属性については、attributes(5) のマニュアルページを参照してください。
FORTRAN と Pascal の 関数、サブルーチン、およびプロシージャは、非常に単純な方法で認識されます。ブロック構造とみなして処理されることはありません。異なるブロックに同じ名前の 2 つの Pascal プロシージャがある場合、一方しか判別されません。
C または Pasca 関数l、および FORTRAN 関数を検索するかどうかを決定する手法は、あまり出来の良いものではありません。
ctags ユーティリティは、#ifdefs を認識しません。
ctags ユーティリティは、Pascal の型を把握している必要があります。型定義の検出は、入力の形式が適切かどうかによります。-tx を使用すると、型定義の最後の行だけが示されます。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項