Help us understand the problem. What is going on with this article?

Emacsでタグジャンプ機能を使用する

More than 5 years have passed since last update.

=================================

タグについて

タグファイルは、ソースコードにあるオブジェクトを参照するためのインデックスファイル。

タグ作成プログラム

Etags

Emacs標準に付属しているタグ作成プログラム。

GNU GLOBAL(gtags)

  • 特徴
    • 対応言語が少ない。
    • 高性能

Ctags

  • 特徴
    • 豊富な言語対応
    • etags互換タグファイルを生成できる。
    • オリジナルのctagsと多言語対応版のExuberant Ctagsがある。
    • 一般的にはExuberant Ctagsが利用されている。

タグジャンププログラム

タグファイルに複数の種類があるが、タグジャンプを実現する
Emacs用のプログラムも複数存在する。

  • Etagsファイル用タグジャンププログラム
    • etags.el
  • Gtagsファイル用タグジャンププログラム
    • gtags.el
  • Ctagsファイル用タグジャンププログラム
    • ctags.el

Ctagsを利用する

Excuberant Ctagsの導入

brewを利用してctags-exuberantを導入する。

$ brew install ctags-exuberant
==> Downloading https://homebrew.bintray.com/bottles/ctags-5.8_1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring ctags-5.8_1.yosemite.bottle.tar.gz
==> Caveats
Under some circumstances, emacs and ctags can conflict. By default,
emacs provides an executable `ctags` that would conflict with the
executable of the same name that ctags provides. To prevent this,
Homebrew removes the emacs `ctags` and its manpage before linking.

However, if you install emacs with the `--keep-ctags` option, then
the `ctags` emacs provides will not be removed. In that case, you
won't be able to install ctags successfully. It will build but not
link.
==> Summary
🍺  /usr/local/Cellar/ctags/5.8_1: 8 files, 364Kmbp$ brew install ctags-exuberant
==> Downloading https://homebrew.bintray.com/bottles/ctags-5.8_1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring ctags-5.8_1.yosemite.bottle.tar.gz
==> Caveats
Under some circumstances, emacs and ctags can conflict. By default,
emacs provides an executable `ctags` that would conflict with the
executable of the same name that ctags provides. To prevent this,
Homebrew removes the emacs `ctags` and its manpage before linking.

However, if you install emacs with the `--keep-ctags` option, then
the `ctags` emacs provides will not be removed. In that case, you
won't be able to install ctags successfully. It will build but not
link.
==> Summary
🍺  /usr/local/Cellar/ctags/5.8_1: 8 files, 364K

ctags.elの導入

ELPAからctags.elを導入する。

M-x package-install RET ctags RET

ファイルをEmacsで開いている状態で、F5キーを押下することで、
Ctagsファイルの更新および存在しない場合は新規作成されるように設定する。

;;;; for ctags.el
(require 'ctags nil t)
(setq tags-revert-without-query t)
(setq ctags-command "ctags -R --fields=\"+afikKlmnsSzt\" ")
(global-set-key (kbd "<f5>") 'ctags-create-or-update-tags-table)
(global-set-key (kbd "M-.") 'ctags-search)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした