5

$barこのクラスのインスタンスである場合、いくつかのメソッドを持つクラスで単純な PHP ファイルを編集しています。

$bar->ctrlxctrlo

クラスのメソッドに加えて、ctags リストに存在する多くのメソッド (組み込みのメソッド) を含むポップアップが表示されます。これらすべての外部メソッドを表示せずに、クラスで定義されたものだけを保持するにはどうすればよいでしょうか?

4

1 に答える 1

1

これについては、VIM のドキュメント ( :help ft-c-omni) を見たことがあると思います。

名前の後に「.」なしで CTRL-X CTRL-O を使用する場合 または "->" タグファイルから直接完成させます。これは、関数名でも、任意の識別子に対して機能します。タグ ファイルに表示されないローカル変数名を完成させたい場合は、代わりに CTRL-P を使用します。

"." を含むものの後に CTRL-X CTRL-O を使用する場合。または "->" Vim は変数の型を認識し、どのメンバーが含まれているかを判断しようとします。これは、変数に有効なメンバーのみがリストされることを意味します。

メンバー名がすでに完成している場合、CTRL-X CTRL-O は「.」を追加します。複合タイプの場合は「->」。

私がそれを正しく読んだ場合、組み込み機能では、せいぜいCTRL-Pを使用してローカル変数名を一致させることしかできないため、TAGSファイルを完全にバイパスします。

本当に必要なのは、現在作業している翻訳単位に固有の TAGS ファイル (header/cpp ファイル) です。この問題を解決しようとしている場合に実行する手順は次のとおりです。

  1. 翻訳単位固有の TAG ファイルを自動作成するスクリプトを作成します (または、makefile に組み込むことをお勧めします)。
  2. 既存の TAGS ファイルをアンロードし、ファイル固有の TAGS ファイルをリロードし、通常CTRL-X CTRL-Oのオムニ補完を実行するコマンドを vim で作成します。必要に応じて、元の TAGS に戻します。

また、コーディング中に現在の翻訳単位を頻繁に変更するため、#1 のスクリプトを VIM から直接呼び出すことができるようにしたいようです。

それがあなたを正しい方向へと導いてくれることを願っています。私は喜んであなたを見て、実装を手伝いたいと思います =)。

于 2010-06-03T22:14:56.593 に答える