Вимкнути другорядний режим у всіх відкритих буферах


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в цьому випадку режим «снаряд».
Рудольф Олах
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.