1

私はVim+Ctagsを使用してPythonを記述していますが、問題は、Vimが定義ではなくタグのインポートにジャンプすることが多いことです。これは一般的な問題であり、ここのいくつかの投稿ですでに対処されています。

この投稿は、タグファイルからインポートを削除する方法を示しています。これは非常にうまく機能しますが、インポートからタグを作成すると便利な場合があります(たとえば、クラス/関数がインポートされたすべての場所を一覧表示する場合)。

この投稿は、タグファイルからインポートを削除せずに定義に到達する方法を示しています。これは基本的に私がこれまで行ってきたことです(:tjumpを1回のキーストロークに再マップしただけです)。ただし、定義エントリを見つけるために表示されるタグのリストをナビゲートする必要があります。

単一のキーコード(例)で「定義を取得」するようにVimに指示することができれば便利です。Exuberant Ctagsは、タグエントリにエントリのタイプで注釈を付けます(たとえば、クラスの場合はc、インポートの場合はi)。Vimにこれらのアノテーションを利用させる方法があるかどうか誰かが知っているので、「タイプiではない最初のタグに移動する」などと言うことができますか?

4

1 に答える 1

1

残念ながら、Vim自体がその推論ビジネスを実行し、コンテキストに応じてインポートまたは定義にジャンプする方法はありません。ファイル内のタグを検索すると、 Vimtagsは最初の一致で停止します。プラグインが役立つかもしれませんが、私はそのようなことを知りません。

またはの代わりに、<C-]>または:tag fooを使用して、最初の一致にジャンプする代わりに、一致のリスト(種類と各一致の行のプレビューを含む)を表示することができます。このようにして、 Vimに行きたい場所を正確に伝えることができますg]:ts foo

于 2013-03-05T09:00:40.757 に答える