utility.++とあるように、**関数やクラス定義のインデックスを生成し、エディタ機能で容易にその定義位置にジャンプしたり、定義ファイルを開いたりする**ためのユーティリティです。++[41の言語](http://ctags.sourceforge.net/languages.html)にデフォルトで対応しているとのことですが、Elixirは入っていません。++が、インデックスしたい定義の正規表現を登録することで、(大雑把になら)簡単に別言語ファイルに対応できます。[paths]+```++`tags`というファイルが生成され、中に関数やクラスが列挙されていればOK.++設定ファイルは`~/.ctags`という名前でホームディレクトリにおきます。Elixir++[mmorearty/elixir-ctags](https://github.com/mmorearty/elixir-ctags)で公開されています。...)/++...++```++`--regex-<langdef>`の行は、`/<regex>/<capture>/<label>/`という構造になっているようです。[ドキュメント](http://ctags.sourceforge.net/EXTENDING.html)はあまり詳細ではないですが、生成された`tags`ファイルを見るとなんとなくわかります。++上記例の場合、`(p?)`と`([a-z_][a-zA-Z0-9_?!]*)`でキャプチャが2箇所あり、実際にインデックスされて欲しい関数名の方は2番めなので、`<capture>`項に`\2`を指定します。Editorで「定義にジャンプ」++ビルトインの[symbols-view](https://github.com/atom/symbols-view)パッケージが担当しています。++単語を選択(OSXなら`cmd-d`、あるいは`ctrl-shift-W`)して、`alt-cmd-down`でジャンプできます。`alt-cmd-up`で元のファイルの元の位置に戻れます。++が、このストロークは複雑なのと、選択した単語がインデックスに存在していても、ジャンプが効かないケースがあります。+(例えば`Nested.Module`で`Nested`部分を選択してジャンプしようとする場合。symbols-view側の仕様?)++どちらかと言うと、ファイル内であれば`cmd-r`、プロジェクト全体であれば`shift-cmd-R`を使って、検索モーダルから探すほうが直観的かもしれません。個人的にはこちらを多用しています。[goto](https://atom.io/packages/goto)++ctagsを使わず独自にインデックスを(in-memoryで)自動構築してジャンプを行う[goto](https://atom.io/packages/goto)というパッケージもあり、symbols-viewを代替できるようです。手動でctagsコマンドを叩く手間が省けてお手軽ですが、まだ試してはいません。++ただ、ctagsを介しておけばvimやEmacsでも同じインデックスを使い回せる利点があるので、どちらが良いかは好みと状況によるでしょう。Tips+以下おまけ。インデックス生成++たまに手動でコマンドを叩くだけですが、面倒ですよね。"[ctagsと連携するように環境を構築する](http://qiita.com/soramugi/items/f918020c2b3f48c93bf3#1-5)"も参考に。hookで好きなタイミングで実行させる。`post-checkout`あたりか。scriptsやgulpでwatchしているプロジェクトであれば、適当なスクリプトに`ctags`呼び出しを絡ませておく。ctags自体は単純なシロモノなので高速ですが、走査するファイル量によるので、`[paths]`引数で適宜範囲指定。`deps`とか、`node_modules`とかは最初から含めないのがよさげ。taskを作っておいて、configで指定する。