LoginSignup
10
2

More than 1 year has passed since last update.

prettify-symbols-mode のススメ

Last updated at Posted at 2022-12-03

この記事は Emacs Advent Calendar 2022 4日目の記事です。

はじめに

org-mode を使い込んでくると、プロパティドロアですとか、ソースブロックですとか、通常の文章の中に制御コード的なものが入り込んできます。プロパティドロアですと、:PROPERTIES:という文字列が表示され、折りたたまれた一文の中にたくさんのメタデータが保存されます。

■ 折りたたんだ状態
Screenshot 2022-12-04 at 7.44.06.png

■ 展開した状態
Screenshot 2022-12-04 at 7.44.21.png

もし、これらの制御コードがうざったらしいな...と思い始めたら、prettify-symbols-modeの出番です。

prettify-symbols-mode を使って制御コードをシンプルに

prettify-symbols-mode は、prog-mode.elに定義されているマイナーモードで、パッケージの追加無しで使えます。例えば、こんな感じです。

■ 制御コードを短縮表示
Screenshot 2022-12-04 at 7.48.36.png

ご覧の通り、:PROPERTIES:»に置き換わって、目立たなくなっているのがわかると思います。上の例ではさらに、#+begin_srcに置き換えています。

設定例

prettify-symbols-modesはビルトインなので、例えば下記のコードをinit.elに入れておけば、すぐに使うことができます。置き換えるテキストは、ユニコードから頑張って探すのが良いと思います。もし、all-the-icons.elとかicons-in-terminal.elを使っているなら、それらのフォントを使って置き換えることもできます。

(add-hook 'org-mode-hook 'prettify-symbols-mode)
(setq-default prettify-symbols-alist '((":PROPERTIES:" . "»")
                                       (":LOGBOOK:" . "›")
                                       (":END:" . "›")
                                       ("#+begin_src" . "▨")
                                       ("#+end_src" . "▨")
                                       ("#+RESULTS:" . "▨")
                                       ("[ ]" .  "☐")
                                       ("[X]" . "☑" )
                                       ("[-]" . "☒" )))

配色は別途、org-src-block-faces, org-block-begin-line, org-block-end-line をカスタマイズすることで変更できます。このあたりは、10.27. [org-babel] ソースブロックの配色 を御覧ください。

チェックボックスを変えることもできて(下の例ではicons-in-terminal.elのフォントを使っています)、わりと気に入っています。

Screen Shot 2022-12-04 at 8.52.15.png

留意点

バッファの中に、" のような文字がペアではなく一つだけ存在すると、それ以降に登場するprettify-symbols-alistで指定した文字列が正しく置換されないので注意してください。

まとめ

今回は、org バッファの見た目をスッキリさせてくれるビルトインのprettify-symbols-modeを紹介しました。Enjoy Emacs!!

10
2
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
10
2