Отключить второстепенный режим во всех открытых буферах


12

Часто у меня открыто много буферов, и по какой-то причине я больше не хочу использовать с ними какой-то особенный второстепенный режим. Есть ли в настоящее время встроенный способ отключить определенный второстепенный режим для всех открытых буферов, или для этого требуется написать пользовательскую функцию elisp?

Ответы:


19

Это требует специальной функции elisp, если только к второстепенному режиму не (global-*-mode)прикреплена функция.

К счастью, это довольно простая функция:

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

Использовать (например, на projectile-mode):

(global-disable-mode 'projectile-mode)

Или назовите это интерактивно:

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

1
Кажется, работает! И красиво написано для загрузки. Большое спасибо. =)
Holocronweaver

в качестве альтернативы, если вам нужен только один раз, вы можете просто скопировать Eval тело функции: M-S-; (dolist ....)и заменить mode-fnна 'projectile-mode в этом случае.
Рудольф Олах
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.