1

自作でインストールctagsし、次の行を my に追加しました~/.vimrc

set tags=./tags,tags;$HOME

次に/usr/local/bin/ctags -R .、いくつかのディレクトリで実行し、ディレクトリに保存されているいくつかのファイルを開きました。これらのスクリプトの一部はタグファイルのインポートに成功しましたが、他のスクリプトは成功しませんでした。

たとえばtest.py、上記のコマンドを既に実行している Python ワークスペースを開きCtrl+]、GVim を実行しようとすると、タグ ファイルが正常にインポートされたように見えます。

また、上記のコマンドを実行した にhello.goある を開き、タグ ファイルを正常にインポートしました。しかし、テスト目的でGoのディレクトリに置いた私のファイルは、タグファイルを正しくインポートしませんでした。~/go/src/github.com/user/helloctagstest.rb

また、 でctagsコマンドを実行~/another_go_workspace/srcして にあるファイルを開いたところ、~/another_go_workspace/src/hello/hello.goそのファイルはタグ ファイルをインポートしset tags=./tags,tags;$HOMEませ~/.vimrcんでした。 ?

それで、私は何が欠けていますか?

そして、より高いディレクトリにタグファイルをインポートしない場合、すべてのディレクトリ、つまり、、、などでコマンドを実行する必要がありctagます~/go/src/soccer_analysisか?~/go/src/coffee~/go/src/utility

ありがとう。

4

3 に答える 3

5

オプションの値tagsは正しく、その動作に関する仮定も正しいです。

の設定ではset tags=./tags,tags;$HOME、Vim はtags最初に現在のファイルのディレクトリ内のファイルを検索し、次にtags作業ディレクトリから上のファイルを検索します$HOME

これによりtags、プロジェクトのルートにファイルを生成し、プロジェクト内のどこにいても、作業ディレクトリが何であれ、Vim がそのファイルを取得できるようになります。

次の構造と現在の設定を使用します。

project/
    bar/
        bar.js
    foo/
        foo.js
    project.js
    tags

Vim はtags、次のすべてのシナリオとそのバリエーションで見つける必要があります。

$ vim project.js
$ cd foo && vim foo.js
$ cd bar && vim bar.js
$ vim foo/foo.js
$ vim bar/bar.js
$ cd bar && vim bar.js ../project.js

プロジェクトに新しいファイルを追加するか、既存のファイルに書き込むたびに、プロジェクト全体のインデックスを再作成する必要があります。ruby ファイルについて書かれている内容から、ファイルを追加した後に ctags を実行していないようです。プロジェクト内のファイルを選択するには、これを試してください: :echo tagfiles().

于 2013-09-03T07:57:46.950 に答える
0

この問題はタイプミスが原因である可能性があります。おもう

set tags=./tags,tags;$HOME

する必要があります

set tags=./tags;,tags;$HOME

于 2014-08-18T08:14:00.727 に答える