Jak skomentował mbork, możesz użyć delight.el, aby selektywnie modyfikować lub wyłączać mniejszy (i rzeczywiście większy) tekst w trybie linii.
Jedną z zalet jest to, że dba o to eval-after-load
(co musisz napisać ręcznie przy pomocy diminish.el w większości przypadków użycia), co czyni konfigurację czystszą. Nadal potrzebujesz tych samych informacji - nazwy trybu i biblioteki, która go implementuje (co Emacs powie ci, jeśli zapytasz go o tryb) - ale możesz to wszystko zawrzeć w jednym formularzu:
(require 'delight)
(delight '((some-mode nil "some-library")
(some-other-mode nil "some-other-library")))
(Lub skorzystaj z powyższego linku, aby uzyskać przykłady prawdziwych zastosowań).
Poleciłbym takie podejście, ponieważ nawet jeśli nie chcesz, aby większość lżejszych tekstów w trybie mniejszym, istnieje duża szansa, że niektóre z nich okażą się przydatne (i nadal możesz zmodyfikować te, aby były krótsze).
Jeśli naprawdę chcesz wyeliminować cały jaśniejszy tekst w trybie pomocniczym (i ponownie, nie polecam go), możesz zmodyfikować mode-line-modes
zmienną. Zmienne linii trybu zmieniły się jakiś czas temu, więc możesz chcieć użyć, M-x find-variable RET mode-line-modes RET
a następnie ręcznie dostosować swoją domyślną definicję, edytując sekcję dotyczącą minor-modes-alist
.
Oczywiście wtedy musisz go zachować, co nie jest tak flashowe, więc wolisz zastąpić minor-mode-alist
symbol w ramach istniejącej wartości. Poniższe informacje są nieco specyficzne dla implementacji, ale na pewno ładniejsze niż ustawienie mode-line-modes
w całości i można je włączać i wyłączać.
(define-minor-mode minor-mode-blackout-mode
"Hides minor modes from the mode line."
t)
(catch 'done
(mapc (lambda (x)
(when (and (consp x)
(equal (cadr x) '("" minor-mode-alist)))
(let ((original (copy-sequence x)))
(setcar x 'minor-mode-blackout-mode)
(setcdr x (list "" original)))
(throw 'done t)))
mode-line-modes))
(global-set-key (kbd "C-c m") 'minor-mode-blackout-mode)