0

ソース(* .c、* .h)コードのブラウジングには、Linuxのvimでetagsを使用します。コマンドを指定してTAGSファイルを作成しました:

etags --members *.c *.h 

TAGS ファイルが作成されますが、参照を開始すると、C 構造変数が定義され、その関数定義の 1 つで使用される 1.c という名前のソース ファイルの 1 つが表示されます (構造名は、他の 1.h ファイルの typedef です)。vim でファイル 1.c を開き、CTRL - ]その構造体型にカーソルを置いて実行します。etags は、この構造体の宣言を含むヘッダー ファイル 1.h を参照しません。

これは、.vimrc に次の行がある場合にのみ発生します。2 行の下にコメントすると、etags ベースのソース ブラウジングが正常に機能します。

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

TAGS ファイルの場所を vim に伝えようとしています。現在のフォルダーからホームディレクトリまで。ここで何が間違っていますか?

上記のコマンドの正しい構文は何ですか?

また、vim を使用した ctags/etags ブラウジングは、特定のすべての関数がどこから呼び出されたかを示していますか? はいの場合、それを見るためのコマンドは何ですか?

4

1 に答える 1

1
  • タグファイルの検索

    Vim の設定では大文字と小文字が区別されるためset TAGS=無効です。set tags=小文字で使用する必要があります。

    tags Vim は最初の一致で停止するため、 and でタグを検索することは期待できませんTAGS。これらのファイルは、次の方法で検索できます。

    set tags=./tags,./TAGS;$HOME " 1. tags, 2. TAGS, 3.… until $HOME
    

    また、検索は ではなくetags、Vim 自体が行います。

  • 関数呼び出しへのジャンプ

    いいえ、ctagsインデックスetags宣言のみです。使用法にジャンプするには、必要になりますcscope

于 2012-04-16T15:48:40.350 に答える