モードラインのモード名表示を短縮する
今さらですが、
モードラインのモード名表示を短縮する方法はマイナーモードとメジャーモードでは異なります。
マイナーモード
マイナーモード名を短縮するときは、そのモードをロードしたあとでdiminish
を使います。
(when (require 'diminish nil 'noerror)
(eval-after-load "company"
'(diminish 'company-mode "Cmp"))
メジャーモード
メジャーモード名を短縮するときは、diminish
を使わず、そのモードにフックしてmode-name
変数を直接書き変えます。
(add-hook 'emacs-lisp-mode-hook
(lambda()
(setq mode-name "Elisp")))
実際の使用例
私はMELPAから落としたパッケージにはuse-package
の:diminish
キーワードを使っています。→ こちらにまとめました。
対して、それ以外のEmacs標準のモード名はuse-package
を使わず下記のようにしています。1
(defmacro diminish-minor-mode (file mode &optional new-name)
"https://github.com/larstvei/dot-emacs/blob/master/init.org"
`(with-eval-after-load ,file
(diminish ,mode ,new-name)))
(defmacro diminish-major-mode (hook new-name)
`(add-hook ,hook #'(lambda ()
(setq mode-name ,new-name))))
;; minor mode
(diminish-minor-mode "eldoc" 'eldoc-mode "doc")
;; major mode
(diminish-major-mode 'emacs-lisp-mode-hook "Elisp")
参考
use-package でモード名を全消し or 短縮する
diminish
safe-diminish
cleaning up the mode-line
-
safe-diminish
ありがたくパクらせていただきました。 ↩
Author And Source
この問題について(モードラインのモード名表示を短縮する), 我々は、より多くの情報をここで見つけました https://qiita.com/gnrr/items/42f62c3aa83f629e90ba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .