Deaktivieren Sie den Nebenmodus in allen offenen Puffern


12

Oft habe ich viele Puffer geöffnet und möchte aus irgendeinem Grund keinen bestimmten Nebenmodus mehr mit ihnen verwenden. Gibt es derzeit eine integrierte Möglichkeit, einen bestimmten Nebenmodus für alle offenen Puffer zu deaktivieren, oder muss hierfür eine benutzerdefinierte Elisp-Funktion geschrieben werden?

Antworten:


19

Dies erfordert eine benutzerdefinierte Elisp-Funktion, es sei denn, dem Nebenmodus ist eine (global-*-mode)Funktion zugeordnet.

Zum Glück ist es eine ziemlich einfache Funktion:

(defun global-disable-mode (mode-fn)
  "Disable `MODE-FN' in ALL buffers."
  (interactive "a")
  (dolist (buffer (buffer-list))
    (with-current-buffer buffer
      (funcall mode-fn -1))))

So verwenden Sie (zum Beispiel am projectile-mode):

(global-disable-mode 'projectile-mode)

Oder rufen Sie es interaktiv auf:

M-x global-disable-mode RET projectile-mode

1
Scheint zu funktionieren! Und schön geschrieben, um zu booten. Vielen Dank. =)
holocronweaver

Alternativ können Sie, wenn Sie dies nur einmal benötigen, den Funktionskörper von Eval kopieren: M-S-; (dolist ....)und mode-fnin diesem Fall durch 'projectile-mode' ersetzen .
Rudolf Olah
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.