Nonaktifkan mode minor di semua buffer terbuka


12

Seringkali saya memiliki banyak buffer terbuka dan, untuk alasan apa pun, saya tidak lagi ingin menggunakan mode minor tertentu dengan mereka. Apakah saat ini terdapat cara bawaan untuk menonaktifkan mode minor tertentu untuk semua buffer terbuka, atau apakah ini mengharuskan penulisan fungsi elisp khusus?

Jawaban:


19

Ini memang membutuhkan fungsi elisp khusus kecuali mode minor memiliki (global-*-mode)fungsi yang melekat padanya.

Untungnya, ini adalah fungsi yang cukup sederhana:

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

Untuk menggunakan (misalnya, pada projectile-mode):

(global-disable-mode 'projectile-mode)

Atau menyebutnya secara interaktif:

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

1
Tampaknya bekerja! Dan ditulis dengan baik untuk boot. Terima kasih banyak. =)
holocronweaver

sebagai alternatif, jika Anda hanya perlu ini sekali saja, Anda bisa menyalin Eval body dari fungsi: M-S-; (dolist ....)dan ganti mode-fndengan 'projectile-mode dalam kasus ini.
Rudolf Olah
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.