4

gtags プラグインで vim を使用して、複数のファイルからコードを読み取ります。:CtagsCursor を実行してトークン定義にジャンプする前に、前の位置に戻る方法がわからないことを除けば、すべて問題ありません。GNU グローバル オンライン ドキュメントを読みましたが、役に立ちません。しかし、「3.4 GLOBAL を使用する Elvis」の章では、「CTRL-T で最新のタグ コンテキストに戻る」と書かれており、これはまさに私が望んでいることです。関数がvimに実装されていない理由がわかりませんか、何か問題がありますか?

BR、ルオチェン

4

4 に答える 4

1

gtags-cscopeasを使用して問題を解決しましcscopeprogた。さらに、cscopetag をアクティブにして、vim での ctag ルックアップにも cscope を使用しました。このように押す<C-]>と、gtags で宣言を検索し、<C-t>もう一度戻ります。

にマッピングした参照の検索には<C-\>、クイックフィックス ウィンドウを使用します。これはタグ スタックを使用しないため、機能しません<C-t>

タグ スタックを使用して試してみましたが、タグ スタックが乱雑になり、選択ウィンドウが大きくなります。複数の参照を検索する場合<C-t>、複数回押す必要があるため、代わりにクイックフィックス アプローチを使用することにしました。

これが私の実際の構成です。

set cscopeprg=gtags-cscope
if has('cscope')
  set cscopetag cscopeverbose
  if has('quickfix')
    set cscopequickfix=s-,c-,d-,i-,t-,e-
  endif

  map <C-\> :cs find c <C-R>=expand("<cword>")<CR><CR>
endif

クイックフィックスなしで参照ルックアップを試してみたい場合は、 のc-オプションを削除してくださいcscopequickfix

もう 1 つのヒントcscopeverboseは、cscope の使用時にエラー メッセージを表示するオプションです。そうしないと、エラーは発生しません (gtags ファイルが追加されていない、シンボルが見つからないなど)。

編集1:

GTAGS ファイルをロードするには、組み込みコマンドを使用しますcs add ./GTAGS

于 2015-08-19T16:44:58.797 に答える