Désactiver le mode mineur dans tous les tampons ouverts

12

Souvent, j'ai de nombreux tampons ouverts et, pour une raison quelconque, je ne souhaite plus utiliser un mode mineur particulier avec eux. Existe-t-il actuellement un moyen intégré de désactiver un mode mineur particulier pour tous les tampons ouverts, ou cela nécessite-t-il d'écrire une fonction elisp personnalisée?

holocronweaver
la source

Réponses:

19

Cela nécessite une fonction elisp personnalisée, sauf si le mode mineur est (global-*-mode)associé à une fonction.

Heureusement, c'est une fonction assez simple:

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

Pour utiliser (par exemple, sur projectile-mode):

(global-disable-mode 'projectile-mode)

Ou appelez-le de manière interactive:

M-x global-disable-mode RET projectile-mode
J David Smith
la source
1
Semble fonctionner! Et joliment écrit pour démarrer. Merci beaucoup. =)
holocronweaver
alternativement, si vous n'en avez besoin qu'une seule fois, vous pouvez simplement copier Eval le corps de la fonction: M-S-; (dolist ....)et le remplacer mode-fnpar 'projectile-mode dans ce cas.
Rudolf Olah du