1

自動コード補完にAutoComplPopを使い始めました。編集中の単一のファイルではうまく機能しますが、file1がfile2で定義されたメソッドを参照している場合、それは見つかりません。

ドキュメントでは、プロジェクトディレクトリ全体を検索する方法があるのか​​、それとも開いているすべてのバッファだけを検索する方法があるのか​​が指定されていないため、これがプラグインの機能ではないのか、何かを有効にする必要があるのか​​がわかりません。 。

必要に応じて、2つのRubyファイルでテストしていました。ありがとう!

4

4 に答える 4

1

問題の原因は、ACP がその目的のためにcompleteオプション.,w,b,kを次のように設定したことのようです(autocomplpop/plugin/acp.vim の 125 行を参照)。

call l9#defineVariableDefault('g:acp_completeOption', '.,w,b,k')

を押したときに使用されるデフォルト値\<C-n>は です.,w,b,u,t,i。そして、最後の文字iが実際に違いを生んでいるようです。何らかの理由で、vim はバッファーで開かれたインクルード ファイルの単語を使用して、別のバッファーの単語を完成させません。したがって、bオプションだけでは十分ではありません。オプションiも含める必要があります。次の行を .vimrc に追加すると役立ちました

let g:acp_completeOption = '.,w,b,u,t,i'

少なくとも C++ ファイルでは機能しましたが、Ruby スクリプトの場合の問題が修正されたかどうかはわかりません。

于 2016-11-10T12:44:43.820 に答える
0

このプラグインは、neocomplcacheによく似ていますが、よりクリーンな...少し古いように見えます。そのプロジェクトには非常に多くのオープン チケットがあり、2 年間更新がないことはほとんど心配していません。

とにかく、ドキュメンテーションによると、そうではありません...本当に...言う。次のいずれかである可能性が非常に高いです。

  • あなたのpwd。ソースのルート ディレクトリが である場合、some/pathそれは現在の作業ディレクトリでもあるはずです。入力:cd some/pathしてみて、違いがあるかどうかを確認してください。
  • ランタイム パスrtp。ソースファイルを含むディレクトリを追加してうまくいくかどうかを確認してください&rtp
  • path。_ 設定と同じ扱い&rtp

このプラグインは、vim にバンドルされているビルトインの ruby​​ オムニ補完関数にフォールバックしている可能性が非常に高いです。試してみてくださいhelp ft-ruby-omni

于 2013-02-12T04:35:34.983 に答える
0

私はちょうど同じ問題を抱えていましたが、実際にこれに対する解決策を見つけました。どうやら、.vimrcファイルに次のように設定する必要があります。

let g:acp_behaviorKeywordCommand = "\<C-x>\<C-i>"

これにより、実際に<C-p>. ただし、遅いので、試した後、<C-p>一致するものがない場合は使用を元に戻し、他の場合はデフォルトの動作にすることにしました。

于 2013-05-05T14:07:25.313 に答える
0

カーソルの左側にあるものに応じて、ACP は (すべての選択肢と同様に) 使用する補完メカニズムを決定します。

しかし、ACP は Vim のデフォルトの補完メカニズムしか使用しません。探しているものが<C-x><C-o>and <C-n>/で提供されない場合、ACP は役に立ちません。<C-p>最初にそれらを試してみてください。

于 2013-02-12T08:13:57.267 に答える