ตามที่ 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)