@Jesseがすでに指摘したように、ここで必要なのはcompany-files
バックエンドです。それを使用するには、いくつかの異なる方法があります。
キーをバインドしてcompany-files
直接呼び出す。
コマンドを使用しcompany-begin-backend
ます。これにより、バックエンドを使用するように求められ、補完候補が提示されます。
company-other-backend
バックエンドのリストを循環するために使用します(次の項目を参照)。これは、完了をトリガーするために使用できます。または、企業モードがトリガーされた後に、別の完了候補のセットに切り替えるために使用できます。たとえば、会社マップでキーバインディングを割り当てることができます。(define-key company-active-map (kbd "C-e") #'company-other-backend)
変数を設定しますcompany-backends
。会社モードは、現在のプレフィックス(つまり、ポイントの前のテキスト)を受け入れるバックエンドを見つけるために、このリストをたどります。現在のプレフィックスを受け入れるバックエンドをリストに含めることは完全に可能ですが、補完候補は提供されません。この時点で、企業モードは何も自動補完しません。リストをカスタマイズして、ニーズを満たす方法でバックエンドを並べ替えることができます。
変更のいくつかの例company-backends
:
ファイル名を完成させたいだけの場合は、それを唯一のバックエンドにすることができます。
(setq company-backends '(company-files))
それはありそうにないので、最も一般的に使用されるバックエンドを最初に配置し、次に、前述のオプションの1つを使用して、バックエンドを切り替えるか、何か他のものが必要なときに名前で呼び出す方がよいでしょう。
マージされた補完候補のセットを作成する「グループ」バックエンドを設定することもできます。たとえば、これを試してください:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
これは、他の3つのバックエンドの候補をマージする単一のバックエンドを指定します。これは、完了時点、dabbrev、およびファイルシステムからの結果を提供します。
モードフックを使用して、さまざまなメジャーモードに対してさまざまなバックエンドのセットを指定できます。例えば:
(add-hook 'org-mode-hook
(lambda ()
(setq-local company-backends '((company-files company-dabbrev)))))
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(setq-local company-backends '((company-capf company-dabbrev-code)))))