Wyłącz tryb pomocniczy we wszystkich otwartych buforach

12

Często mam wiele otwartych buforów i z jakiegokolwiek powodu nie chcę już używać z nimi szczególnego trybu pomocniczego. Czy istnieje obecnie wbudowany sposób wyłączenia określonego trybu pomocniczego dla wszystkich otwartych buforów, czy też wymaga to napisania niestandardowej funkcji elisp?

holocronweaver
źródło

Odpowiedzi:

19

Wymaga to niestandardowej funkcji elisp, chyba że do trybu pomocniczego jest przypisana (global-*-mode)funkcja.

Na szczęście jest to dość prosta funkcja:

(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))))

Aby użyć (na przykład on projectile-mode):

(global-disable-mode 'projectile-mode)

Lub nazwij to interaktywnie:

M-x global-disable-mode RET projectile-mode
J David Smith
źródło
1
Wydaje się działać! I ładnie napisane do uruchomienia. Dziękuję Ci bardzo. =)
holocronweaver,
alternatywnie, jeśli potrzebujesz tego tylko raz, możesz po prostu skopiować Eval treść funkcji: M-S-; (dolist ....)i mode-fnw tym przypadku zastąpić tryb „pocisk”.
Rudolf Olah