Wie @Jesse bereits betont hat, möchten Sie hier das company-files
Backend. Es gibt verschiedene Möglichkeiten, es zu verwenden:
Binden Sie einen Schlüssel, um company-files
direkt anzurufen .
Befehl verwenden company-begin-backend
. Dies fordert Sie zur Verwendung des Backends auf und bietet dann Abschlusskandidaten an.
Verwenden Sie company-other-backend
diese Option, um durch die Liste der Backends zu blättern (siehe nächster Punkt). Dies kann verwendet werden, um den Abschluss auszulösen, oder es kann verwendet werden, nachdem der Unternehmensmodus ausgelöst wurde, um zu einem anderen Satz von Abschlusskandidaten zu wechseln. Möglicherweise möchten Sie eine Schlüsselbindung in der Firmenkarte zuweisen, z(define-key company-active-map (kbd "C-e") #'company-other-backend)
Konfigurieren Sie die Variable company-backends
. Der Firmenmodus durchläuft diese Liste, um ein Backend zu finden, das das aktuelle Präfix akzeptiert (dh den Text vor dem Punkt). Es ist durchaus möglich, ein Backend in der Liste zu haben, das das aktuelle Präfix akzeptiert, aber keine Abschlusskandidaten anbietet. Zu diesem Zeitpunkt wird im Unternehmensmodus nichts automatisch vervollständigt. Sie können die Liste anpassen, um die Backends so zu ordnen, dass sie Ihren Anforderungen entsprechen.
Einige Beispiele für Änderungen company-backends
:
Wenn Sie nur Dateinamen vervollständigen wollten, können Sie dies zu Ihrem einzigen Backend machen:
(setq company-backends '(company-files))
Das scheint unwahrscheinlich, daher ist es besser, wenn Sie zuerst Ihr am häufigsten verwendetes Backend verwenden und dann eine der zuvor genannten Optionen verwenden, um das Backend zu wechseln oder eines mit Namen aufzurufen, wenn Sie etwas anderes benötigen.
Sie können auch ein 'Gruppen'-Backend konfigurieren, das einen zusammengeführten Satz von Abschlusskandidaten erstellt. Versuchen Sie dies zum Beispiel:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
Dies gibt ein einzelnes Backend an, das die Kandidaten aus drei anderen Backends zusammenführt. Sie erhalten Ergebnisse von der Fertigstellung am Punkt, dabbrev und dem Dateisystem.
Sie können Modus-Hooks verwenden, um einen anderen Satz von Backends für verschiedene Hauptmodi anzugeben. Zum Beispiel:
(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)))))