Desativar o modo secundário em todos os buffers abertos

12

Freqüentemente, tenho muitos buffers abertos e, por qualquer motivo, não desejo mais usar um modo secundário específico com eles. Existe atualmente uma maneira interna de desativar um modo secundário específico para todos os buffers abertos ou isso requer a gravação de uma função elisp personalizada?

holocronweaver
fonte

Respostas:

19

Isso requer uma função elisp customizada, a menos que o modo secundário tenha uma (global-*-mode)função anexada.

Felizmente, é uma função bastante simples:

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

Para usar (por exemplo, on projectile-mode):

(global-disable-mode 'projectile-mode)

Ou chame de forma interativa:

M-x global-disable-mode RET projectile-mode
J David Smith
fonte
1
Parece funcionar! E bem escrito para inicializar. Muito obrigado. =)
holocronweaver
Como alternativa, se você precisar disso apenas uma vez, poderá copiar Eval o corpo da função: M-S-; (dolist ....)e substituir mode-fnpor 'projectile-mode' neste caso.
Rudolf Olah