GNUグローバルとvim


7

誰かがvimでGNUグローバルを使用しましたか?大規模なC ++コードベースをナビゲートしていて、その使用方法を理解するのに問題があります。gtags-cscope機能を使用したいのですが、後でvimに接続できる相互参照データベースを生成する方法がわかりません。

解決策を見つけるための助けがありがたいです。


1
私が試したとき、GNU GlobalはJavaScriptをサポートしていませんでしたが、PHPとIIRCでうまく機能し、Vimの統合はかなり簡単でした。何を試し、どのように失敗したか詳細を教えてください。
romainl 2015

@romainl私は通常のcscopeに慣れています。私を混乱させたのは、データベースの相互参照に使用するファイルです。複数のファイルがありますが、データベースに何を使用しても同じ結果が得られるようです。ツールは常に正しい結果を生成するとは限りません。何か問題がありましたか?これは私がナビゲートするためにしようとしているコードベースである
flashburn

私のPHPプロジェクトにはGNUグローバルcscopeを使用しています。ここにある手順を使用します。要約::set csprg=gtags-cscope:cs add GTAGS。少なくともこれらのコマンドを実行しましたか?
Peter Rincker、2015

@PeterRinckerはい、あります。いつも自分に合った「もの」を見つけられるとは限りません。
flashburn

回答:


2

GNU Globalのディストリビューションには、かなり便利ないくつかのvimスクリプトがすでに含まれています。

Globalのインストールディレクトリで 'gtags.vim'と 'gtags-cscope.vim'(おそらく必要なものに最も適しています)を探し、vimの構成内の 'plugins'ディレクトリにコピーします。2番目のスクリプトは

    set csprg=gtags-cscope

これは、すべての通常のcscopeコマンドをgtagsプロバイダー経由でルーティングするため、検索時にGNU GlobalのDBを使用します。

私は単に:Gtagsコマンドを直接使用することを好みますが、これは使いやすいと思いますが、それぞれに固有です。

プラグインgen_tagsは、vimから直接ソースコードDBを簡単に再構築するのにも役立ちます。


1

ソースコードディレクトリで、次のコマンドを使用します。

find . -name '*.cpp' -o -name '*.h' > gtags.files
gtags --accept-dotfiles -c -f gtags.files

これにより、相互参照が構築されます。

vimでは、次のコマンドを発行してgtags-cscopeを呼び出すことができます

:GtagsCscope
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.