ctags – ソースコードのタグファイル生成コマンド

コード索引・ナビゲーション

ctags コマンドは、プログラムのソースコードから関数・変数・クラスなどのシンボルを抽出して タグファイル を生成するためのツールです。
生成されたタグファイルを使うことで、Vim や Emacs などのエディタでコード内の定義に素早くジャンプできるようになります。

構文(Syntax)

ctags [オプション] [ファイル...]

主なオプション一覧

オプション説明使用例
(なし)カレントディレクトリ以下のソースから tags を生成ctags
-R再帰的にディレクトリを処理ctags -R
-f <file>出力ファイルを指定(デフォルトは tagsctags -f mytags
--languages=<list>対象言語を指定ctags --languages=C,Python
--exclude=<pattern>除外パターンを指定ctags -R --exclude=node_modules
-a既存のタグファイルに追加ctags -a newfile.c
-eEmacs 形式で出力ctags -e
--list-languagesサポートされている言語一覧を表示ctags --list-languages
--list-kinds=<lang>指定言語の解析対象一覧を表示ctags --list-kinds=Python

実行例

デフォルトで tags ファイルを生成

ctags

(カレントディレクトリのソースコードを解析し tags ファイルを作成)

ディレクトリを再帰的に解析

ctags -R

出力ファイルを指定

ctags -R -f project.tags

Python ファイルだけを対象に解析

ctags -R --languages=Python

特定のディレクトリを除外

ctags -R --exclude=node_modules --exclude=dist

既存のタグファイルに追加

ctags -a utils.c

サポートされる言語を確認

ctags --list-languages

エラー例(存在しないファイル)

ctags notfound.c

出力例:

ctags: cannot open "notfound.c" : No such file or directory

関連コマンド

  • vim : :tagCtrl-]tags ファイルを利用可能。
  • etags : Emacs 用のタグ生成ツール。
  • cscope : より高度なコード解析・検索ツール。

備考

  • ctags には複数の実装があり、代表的なのは Exuberant CtagsUniversal Ctags
    • Universal Ctags はアクティブに開発されており、多くの言語をサポート。
  • 生成される tags ファイルをプロジェクトルートに置くと、エディタでコードナビゲーションが容易になる。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント