mbork가 언급했듯이 delight.el 을 사용 하여 모드 행에서 부 (및 주요) 모드 텍스트를 선택적으로 수정하거나 비활성화 할 수 있습니다 .
장점 중 하나는 eval-after-load
(대부분의 사용 사례에서 diminish.el을 사용하여 수동으로 작성해야 함) 관리가 더 깔끔하다는 것입니다. 모드의 이름과 모드를 구현하는 라이브러리 (모드에 대해 물어 보면 Emacs가 알려줄 것임)와 같은 정보가 여전히 필요하지만, 모든 정보를 단일 형식으로 묶을 수 있습니다.
(require 'delight)
(delight '((some-mode nil "some-library")
(some-other-mode nil "some-other-library")))
(또는 실제 사용 예는 위의 링크를 따르십시오.)
이 방법을 사용하는 것이 좋습니다. 대부분의 마이너 모드에서 더 가벼운 텍스트를 원하지 않더라도 일부 텍스트를 유용하게 사용할 수 있습니다 (그러한 텍스트를 더 짧게 수정할 수 있음).
마이너 모드의 더 가벼운 텍스트를 모두 제거하고 싶다면 (권장하지 않음) mode-line-modes
변수를 수정할 수 있습니다. 모드 라인 변수는 얼마 전에 변경되었으므로 M-x find-variable RET mode-line-modes RET
관련 섹션을 편집하여 기본 정의 를 사용 하고 수동으로 조정할 수 있습니다 minor-modes-alist
.
물론 플래시를 유지 관리해야하므로 기존 값 내 에서 minor-mode-alist
기호를 바꾸는 것이 좋습니다 . 다음은 구현에 따라 다소 다르지만 전체 설정보다 확실히 좋으며 켜고 끌 수 있습니다.mode-line-modes
(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)