つーさにブログ

つうさにのメモ用ブログ

TreemacsとかNeoTreeでall-the-iconsなiconする

TreemacsとNeoTreeでのall-the-icons利用メモ。

はじめに

all-the-iconsパッケージは(GUIな)Emacsでアイコンフォントを使うためのライブラリ。ライブラリなのでall-the-iconsのアイコンを楽しむには、(Wikiとかを見て)自分でEmacs Lispを書くかall-the-iconsを利用したパッケージを使う必要がある。

TreemacsNeoTreeEmacsでサイドバー(エクスプローラー)を実現するパッケージ。どちらもデフォルトではall-the-iconsではないアイコンを使うが、設定でall-the-iconsのアイコンを使うようにすることができる。

ということで、その設定のメモ。

前提条件

  • all-the-iconsパッケージをインストール済みでかつM-x all-the-icons-install-fontsしてフォントをシステムにインストール済み
  • treemacsneotreeパッケージはそれぞれインストール済み

Treemacsでall-the-iconsなicon

treemacs-all-the-iconsパッケージを利用する。

設定例。

(with-eval-after-load 'treemacs
  (require 'treemacs-all-the-icons)
  (treemacs-load-theme "all-the-icons"))

M-x treemacsしたとき、all-the-iconsのアイコンが使われるのがわかる。

f:id:tsuu_mmj:20200819003606p:plain
Treemacsでall-the-iconsなicon

TreemacsではデフォルトでPNG画像が使われるが、treemacs-all-the-iconsを使えばアウトラインフォントなので綺麗。

NeoTreeでall-the-iconsなicon

NeoTreeでは他パッケージをインストールする必要はない。neo-theme変数を変更する。

設定例。

(with-eval-after-load 'neotree
  (setq neo-show-hidden-files t) ; dot-fileも表示する
  (setq neo-theme 'icons))

M-x neotreeしたとき、all-the-iconsのアイコンが使われるのがわかる。

f:id:tsuu_mmj:20200819003633p:plain
NeoTreeでall-the-iconsなicon

NeoTreeではデフォルトで独特のXPM画像が使われるが、all-the-iconsのアイコンを使えばちょっといい感じ。

NeoTreeでall-the-iconsなicon(doom-themesを使って)

doom-themesパッケージには、NeoTreeの動作を改変してもっといい感じにall-the-iconsのアイコンを使うようにする機能がある。

これはdoom-themesパッケージに同梱される機能であるが、doom-themesに含まれるテーマを使わなくても利用可能である。

(with-eval-after-load 'neotree
  (setq neo-show-hidden-files t) ; dot-fileも表示する
  (doom-themes-neotree-config))

M-x neotreeしたとき、neo-theme変数にiconsを設定したときとは違う感じでall-the-iconsのアイコンが使われるのがわかる。レイアウトも変わってる。

f:id:tsuu_mmj:20200819003710p:plain
NeoTreeでall-the-iconsなicon (doom-themes-neotree-config)

ちなみに、この機能を用いる場合neo-theme変数の設定は無効になる。

見比べ

Treemacsと(doom-themes-neotree-config)なNeoTreeが結構似てる。

Treemacs NeoTree NeoTree (doom-themes-neotree-config)
f:id:tsuu_mmj:20200819003606p:plain:h500 f:id:tsuu_mmj:20200819003633p:plain:h500 f:id:tsuu_mmj:20200819003710p:plain:h500

おしまい

doom-themesパッケージ、似たテーマ集めましたみたいなパッケージかと思ってたら、テーマとは全然関係ない拡張をする機能も提供してた。ふぁっと。