このコマンドを実行したフォルダーllvm2.9があります。
$> ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
これは、llvm2.9/docsにも存在する* .htmlファイルのインデックス作成メソッドでした。あるクラスでctrl-]を押すと、htmlファイルに移動したのでこれを見つけました。
Ctagsに.cpp/.hファイルのみを使用させるか、特定のディレクトリを無視させるにはどうすればよいですか。
ありがとう
--exclude=*.html
を使用してファイルタイプを除外できます
.htmlファイル以外のものを除外する必要がある場合:
除外オプション内でリストをコンマで区切ることはできません。これは機能しません:
ctags --exclude=*.html,*.js ./*
ただし、複数の除外オプションを渡すことができます。
ctags --exclude=*.html --exclude=*.js ./*
デバッグに役立つ-Vオプションを渡します。
ctags -V --exclude=*.html --exclude=*.js ./*
出力を提供します:
Reading initial options from command line
Option: --exclude=*.html
adding exclude pattern: *.html
Option: --exclude=*.js
adding exclude pattern: *.js
Vimで最も簡単な方法は
:!ctags {.,**}/*.{cpp,h}
説明:中括弧は次のように展開されます
:!ctags ./*.cpp **/*.cpp **/*.h **/*.h
したがって、現在のディレクトリでソースファイルまたはヘッダーファイルを検索します(
./
)または任意のネストされたディレクトリ(**/
)。注意**/
は現在のディレクトリと一致しません(常に少なくとも1つのサブディレクトリレベルと一致します)
シェル内:
find -iname '*.cpp' -o '*.h' -print0 | xargs -0 ctags
説明:これにより、現在のディレクトリの下にあるすべての.cppファイルと.hファイルが再帰的に検索され、コマンドラインの
ctags
に渡されます。道
print0
および-0
連携することは、奇妙なファイル名(空白や改行文字を含むなど)で正しく機能することを確認することです。
残りのctagsオプションはあなた自身の想像力のために残しておきます:)
PS。最近のbash-esについては、次を使用できます
shopt -s globstar
ctags {.,**}/*.{cpp,h}
そしてvimとほとんど同じ振る舞いをします!
大規模なプロジェクトで処理される可能性のあるすべてのファイルタイプを追跡する必要はなく、Pythonのみに関心があったため、ctags --languages=Python ...
を使用してpythonファイルのみを明示的に処理しました。言語名のリストは、ctags --list-languages
を使用して表示できます。