LoginSignup
20
11

More than 5 years have passed since last update.

指定したマイナーモードを表示しない(diminish篇)

Last updated at Posted at 2015-08-16

Emacsにいろんなパッケージをインストールしていくと、べんりな反面、画面下部の行(モードライン)が圧迫されていく。

以前、指定したマイナーモードを表示しないを書いたけれど、もっと良いやつがあるので紹介する。

mode-line-before

準備

Caskでuse-packageを使ってたらdiminish.elも依存関係としてインストールされるので、追加で導入するものはない。

パッケージマネージャを利用しない場合、 https://github.com/emacsmirror/diminish からファイルを持ってくると良い。

宣伝

毎週土曜の午後10時からLingrにてinit.el読書会をやってるので、興味があればおいでください
参加方法などは http://emacs-jp.github.io/reading-initel.html を参照のこと ヾ(〃><)ノ゙

diminish

safe-diminishは以前init.el読書会で上記のinit.orgを読んだときに知って拝借したもの。

init.el
(defmacro safe-diminish (file mode &optional new-name)
  "https://github.com/larstvei/dot-emacs/blob/master/init.org"
  `(with-eval-after-load ,file
     (diminish ,mode ,new-name)))

(safe-diminish "abbrev" 'abbrev-mode)
(safe-diminish "auto-complete" 'auto-complete-mode)
(safe-diminish "eldoc" 'eldoc-mode)
(safe-diminish "flycheck" 'flycheck-mode)
(safe-diminish "flyspell" 'flyspell-mode)
(safe-diminish "helm-mode" 'helm-mode)
(safe-diminish "paredit" 'paredit-mode)
(safe-diminish "projectile" 'projectile-mode)
(safe-diminish "rainbow-mode" 'rainbow-mode)
(safe-diminish "simple" 'auto-fill-function)
(safe-diminish "smartparens" 'smartparens-mode)
(safe-diminish "smooth-scroll" 'smooth-scroll-mode)
(safe-diminish "undo-tree" 'undo-tree-mode)
(safe-diminish "volatile-highlights" 'volatile-highlights-mode)
(safe-diminish "yasnippet" 'yas-minor-mode)

with-eval-after-loadを噛ますのは、ファイルがロードされたあとに確実にマイナーモードを隠せるようにするため。

第一引数に渡す文字列は、第二引数に渡すシンボルのモードが定義されてるファイル名を指定すると良い。実行時にそのマイナーモードがどのファイルで調べるにはM-x find-functionで探して、開かれたファイル名を指定するのが良い。

まあ、めんどくさいのでuse-packageを使ってたら、次に紹介する方法の方がややこしくない。

use-package

use-packageを利用してるなら、定義をまとめることができる。

init.el
(use-package yasnippet
  :diminish yas-minor-mode
  :init (yas-global-mode t))

:diminish hoge-minor-modeのように指定する。こちらで指定したものはsafe-diminishでは記述する必要はない。

筆者はuse-packageを利用しない一部のマイナーモードのみsafe-diminishを利用することにした。

init.elの修正

2コミットに分けて修正したので、参考にどうぞ。

最後に

mode-line-after

どうでも良いのだけれど、diminish.elの末尾に謎ポエムが書かれてるので暇なら読むと良い。

宣伝

毎週土曜の午後10時からLingrにてinit.el読書会をやってるので、興味があればおいでください
参加方法などは http://emacs-jp.github.io/reading-initel.html を参照のこと ヾ(〃><)ノ゙

20
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
11