web-dev-qa-db-ja.com

gVim-ctagsとは何ですか?どのように使用しますか?

私はWindowsの通常の gVim ユーザーですが、それをインストールし、小さな_vimrcファイルをセットアップして、移動するだけです。

今、私はgVim Omni complete を理解し、それを機能させることを試みています( haXe でそれについて知りました)。

:help new-omni-completionを読んで、私はctagsについて何かを見ました。

しかし、 ctags site に行くと、彼らのサイトは私を混乱させました。

ctagsは何をしますか、なぜそれが必要なのですか?

そして最も重要な部分:どのようにそれをインストールするのですか?

ダウンロードしたソース+バイナリアーカイブに付属のページとドキュメントは、インストールについて混乱しています(そして、私はWindowsを使用していますが、主にLinuxに焦点を当てているようです)。それらのほとんどはソースからのコンパイルについて話し、結果のバイナリ(私がダウンロードしたアーカイブにはすでに含まれており、コンパイル済み)をどうするかについては述べていません。

ctagsは、いわゆるtagsファイルを作成できるツールです。 tagsファイルは本質的にインデックスです。 vimはそのファイルを解析し、特定のパターンがどこにあるかを知ることができます。

例:関数foo_world()が宣言されているファイル_foo.h_があります。 ctagsは_foo.h_を解析し、インデックスファイルtagsにマークを付け、ファイルと行番号をfoo_world()に格納します。 vimでは、そのマークに直接ジャンプできます。またはオートコンプリート構造、クラス、関数名など。

ctagsは、さまざまなプログラミング言語のこのような情報を抽出できます。プログラマーであり、「他のファイルのその位置にジャンプする」ことが役立つ場合にのみ、ctagsが必要です。

5
akira

Stack Overflowで私の答えを見つけました(これはインストールの問題であり、justプログラミング関連ではないと思いますが)。

https://stackoverflow.com/questions/745560/installing-exhuberant-ctags-on-windows-Vista-and-xp

残りの質問を説明しているので、他の答え(アキラの)を受け入れる:What is ctags, and why do I want it?