vim - ctags を使用して glibc ヘッダー ファイルのタグを生成するにはどうすればよいですか?
世界只因有你
世界只因有你 2017-05-16 16:42:46
0
2
752

欲しいもの:

vim でオムニコンプリーションまたはオムニコンプリーション関数を使用して、glibc 関数の自動補完を実現したいと考えています。たとえば、C ソース ファイルに pri と入力し、C-x C-o を押して printf を補完するリストをポップアップ表示します。
問題は、ctags を使用して、glibc-headers-2.15-57.fc17.i686 によってインストールされた標準 C ヘッダー ファイルを処理し、tags_glibc ファイルを生成することです。ただし、C ソース ファイルに pri と入力し、C-x C-o と入力すると、ポップアップ メニューには stdio2.h の printf の定義とプロトタイプ宣言のみが表示され、stdio.h の printf 宣言は表示されません。奇妙なのは、vim を使用して生成されたタグ ファイルを表示し、printf を検索し、次の 3 つのエントリを見つけたことです。 リーリー

最後の図は、ctags が stdio.h で printf のプロトタイプ宣言 (タイプ p) を生成することを示していますが、挿入モードで pri<C-x C-o> を入力すると 3 番目の宣言が表示されないのはなぜですか?どこで私は間違えましたか? ?

同じ現象は、fprintf (このシンボルは stdio.h および stdio2.h で使用可能)、memcpy (string.h および string3.h で使用可能) などの関数でも発生します。

環境

私のシステムはfedora17 (3.6.3-1.fc17.i686)、ctagsは最新バージョンの5.8です

使用される ctags コマンドは次のとおりです:
リーリー

このうち、glibc-headers-filelist.txtの生成は次のコマンドです:

リーリー

質問

vim 専門家の皆様、glibc ヘッダー ファイルのタグ ファイルをより適切に生成する方法はありますか?
世界只因有你
世界只因有你

全員に返信(2)
滿天的星座


extern タグを含めます。 ctag は通常、関数または変数の extern 宣言を無視します。これは、独自のプログラムのタグを生成するときに便利です。システムの標準ヘッダー ファイル内の extern 宣言のタグ ファイルは非常に便利なリソースとなるため、この -e フラグが作成されました。

http://elvis.the-little-red-haired-gi より...

いいねを押す +0
为情所困

タグファイルを使用する場合は、タグが配置されているディレクトリでvimを開く必要があります。

異なるディレクトリを使用する場合、vim で tags 変数を設定する必要があります。変数値はタグ ファイル パスです。例:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート