rainbow-mode
ist kein globaler untergeordneter Modus, daher muss er pro Puffer aktiviert werden.
ich es nur für CSS, so habe ich:
(add-hook 'css-mode-hook 'my-css-mode-hook)
(defun my-css-mode-hook()
(rainbow-mode 1))
Wenn Sie wirklich es global sein wollen, überall, können Sie leicht eine globale Minor-Modus selbst definieren:
(define-globalized-minor-mode my-global-rainbow-mode rainbow-mode
(lambda() (rainbow-mode 1)))
(my-global-rainbow-mode 1)
Sie können jede beliebige Logik zu dieser (lambda() (rainbow-mode 1))
Funktion hinzufügen (die in jedem Puffer ausgewertet wird), um zu entscheiden, ob eigentlichanrufen sollfür einen bestimmten Puffer, wenn Sie also mit elisp vertraut sind, können Sie diesen Ansatz problemlos erweitern, um Ihre spezifischen Anforderungen für den betreffenden Modus zu erfüllen.
Allgemeiner gesagt, wie lade ich jeden Modus/Paket automatisch beim Start?
Es kann variieren, aber die Ansätze, die ich gezeigt habe würde für die meisten kleineren Modi genügen: Entweder Sie wollen, dass sie aktiviert, wenn MODE
aktiviert ist (einige spezifische andere Modusname ist), in dem Fall, dass Sie die MODE-hook
verwenden können Variable (die immer verfügbar sein wird) gemäß dem css-mode-hook
Beispiel; oder Sie möchten, dass der Modus dauerhaft aktiviert ist. In diesem Fall ist ein globaler Minor-Modus ein guter Ansatz (da Sie ihn global ein- und ausschalten können). Einige untergeordnete Modi sind standardmäßig global (oder stellen globale Varianten bereit), Sie können jedoch bei Bedarf auch eigene erstellen, wie im Beispiel my-global-rainbow-mode
.
bewusst sein, auch die Modi aus anderen Modi abgeleitet werden kann, in welchem Fall alle relevanten MODE-hook
Haken wird ausgeführt (Einzelheiten https://stackoverflow.com/a/19295380/324105 sehen). Ein häufiger Anwendungsfall ist die Verwendung von prog-mode-hook
, um die gewünschte Funktionalität für die Programmiermodi zu aktivieren, die davon abgeleitet sind (die meisten Programmiermodi).
Denken Sie daran, dass viele (hoffentlich die meisten) Bibliotheken und Pakete Gebrauchsanweisungen enthalten. Wenn Sie die Dokumentation nicht finden können, versuchen Sie M-xfind-library
, um die Bibliotheksdatei zu besuchen, und lesen Sie sich die Kommentare oben durch. Es gibt oft einen sehr informativen "Kommentar" -Abschnitt, und manchmal ist dies die primäre Quelle der Endbenutzer-Dokumentation, und erklären, wie sie ihre Funktionalität aktivieren.
Sie können einfach '(add-hook' css-mode-hook 'rainbow-mode) 'ohne durch' my-css-mode-hook 'gehen. – Stefan
Stefan: nur in Emacs 24, sonst schaltet sich der Modus um, und ich bin nicht geneigt anzunehmen, dass jeder aufgerüstet hat. (Und in meinem Fall macht diese Funktion auch eine Menge anderer Dinge, also brauche ich sie :) – phils
Danke! Ich habe dies verwendet, um den goto-address-mode global zu aktivieren. Am Ende habe ich .emacs: '(define-globized-minor-mode global-goto-adresse-mode goto-adresse-mode (lambda() (goto-adresse-modus 1)))) und dann mit Unfall fand den Wert auf anpassen beim Überprüfen der Konfiguration für den Modus, so dass ich am Ende lassen Sie den globalen Modus Aktivierung von anpassen. – pupitetris