良い一日、
私は通常、比較的小さな(20,000行未満のコード)プロジェクトで作業します。これらのプロジェクトはすべて、単一のディレクトリ内に自己完結型であり、独自のMakefileを持ち、操作はかなり簡単です。
VIMは私の好みのエディターであり、プロジェクトを開くときは、通常、F10キーへのマッピングを介してctagsリストを作成します。
map <F10> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
CTRLこれにより、カーソルをテキスト上に移動して+]を押すか、OmniCppCompleteを介してドロップダウンリストでコード補完を使用することにより、変数/構造体などの定義にジャンプできます。
しかし、私は現在、たくさんの構造物を利用する少し大きなプロジェクトに取り組んでいます。さらに、これらの構造の多くには、メンバーとして他のカスタム構造の配列が含まれているため、コードの補完は、現在私にとって非常に便利で重要なツールです。
多くの.C
ファイルと.h
ファイルを含む2つのパスがあり、それらはマシンごとに変わる可能性があります。.bashrc
ただし、各マシンには、次のようにそれらを指す環境変数がファイルにあります。
SDK_SRC_PLUS_HEADERS=/public/sdk
THIRD_PARTY_SDK=/private/sdk
(VIMの組み込みOmniCppComplete機能を介して)コード補完を実行しようとしたときにVIMがこれらの追加パスの内容を自動的に参照できるようにしたい、またはVIMでCTRL+を使用したときにこれらの場所のファイルにジャンプできるようにしたい]構造体、関数、変数などの定義にジャンプします。
したがって、上記の両方のパスについて、私cd
はそれらにアクセスし、を介してタグを生成しますctags -R
。次に、次のよう~/.vimrc
に、追加のタグパスを含めるようにファイルを変更しました。
tags=./tags
tags+=$SDK_SRC_PLUS_HEADERS/tags
tags+=$THIRD_PARTY_SDK/tags
次にcd
、でプロジェクトにアクセスし/home/user1/projects/test
、VIMを起動しF10、VIMを押してインデックスを作成します。ただし、これはまったく機能しません。実際、プロジェクト自体のためだけにタグを使用することさえできなくなります(つまり、CTRL+]は何もしません)。
環境変数を介して複数のソースディレクトリを使用して、コード補完のソースタグとジャンプして定義を作成する方法について誰か提案がありますか?
お手数をおかけしますが、よろしくお願いいたします。