ここでは、どのように会社の作品に完了(私はより詳細な説明はのマニュアルに記載されていますビットを簡素化していますcompany-backends
C-hvcompany-backends
RET。
あなたは、会社がポイントで完了を提供しようとするバックエンド(完了エンジン)のリストを持っています。会社はこのバックエンドを次々に試行し、候補を返す最初のバックエンドが完了に使用され、残りのバックエンドは無視されます。そのため、デフォルトでは一度に1つのバックエンドのみが使用されます。
あなたの場合(emacs-lisp-modeのようです)emacs-lispバックエンドは完了候補を返しているためcompany-dabbrev
、会社が完了のために使用することはなく、完了することもありませんfoobarsentence
。そのため、company-dabbrev
以前のcompany-elisp
(またはcompany-capf
最近のemacsenで)来るように、会社のバックエンドを変更することができます。しかし、私はそれがあなたが望むものではないと思います。なぜならそれは現在の状況を逆転させ、emacs-lispバックエンドから補完を取得しないからです(この場合は読み進めてください)。
会社は、grouped
バックエンドと呼ばれるものを使用して、複数のソースからの補完をマージする方法を提供します。通常、のメンバーcompany-backends
は個別のバックエンドですが、バックエンドのリストにすることもできます。その場合、バックエンドからの完了は、同じprefix
または完了するテキストを返す場合にマージされます(詳細については、ドキュメントを参照してくださいcompany-backends
)。
company-elisp
(最近のemacsen company-capf
が使用されている)からの補完をマージし、company-dabbrev
単にこれを行う場合
(add-to-list 'company-backends '(company-capf company-dabbrev))
さらに、:with
キーワードを使用して異なるバックエンドをマージできます
(add-to-list 'company-backends '(company-capf :with company-dabbrev))
これは:with
、企業が(完成するテキスト)を:with
決定する前にバックエンドのみを使用するため、バックエンドなしのリストの例とは異なりprefix
ます。これは後にバックエンドからの候補者がいることを意味:with
かかわらず、バックエンドが戻らないかどうかの、会社によって無視されるprefix
前に、バックエンドのいずれも場合、または全く:with
リターンA prefix
。
これをemacs-lispバッファーでローカルに設定したい場合があります(そうすることをお勧めします)