読了: Mastering Emacs

#book
#読書
Mastering Emacs

商品ページ

昨年から活発にEmacsを使い始めたのをきっかけに、改めて体系的にインプットしたいと思い購入した本。Emacs 28に準拠した数少ない(というか調べた感じ唯一かな?)モダンな本で、Emacsの初期からある普遍的な概念や操作についてじっくり解説している内容だった。

ありがたいことに日本語訳版がセットでついてきたので、それを読んだ際の感想。

Emacsの考え方を知れる

例えば「移動のセオリー」の章はこれだけで本の3割くらいのボリュームがあって圧巻だが、まさにEmacsにおける基礎練であり、このエディタの根底にある考え方が知れる。

Emacsでは関数ブロックの開始・終了位置にカーソルを簡単にジャンプさせられる。このジャンプはEmacs本体が行うが、開始と終了の位置がどこかはメジャーモードが決める。JavaScriptのようにブロックがbracesで閉じられていようが、それがないPythonのような言語だろうが、メジャーモードが構文ツリーを提供することでカーソル移動が機能する。よくできてるなぁと感心するとともに、これまで C-f,C-b等の基本操作しか使ってこなかったのでもっと早く読んでいれば...という内容だった。

また本では度々Emacsにおける操作の”対称性”について触れられている。ブロックのジャンプに限らず膨大な移動とキーバインドが存在するEmacsだが、この対称性を意識できればある程度操作を予測して快適に使えるのだな、というのも理解できた。これは「移動のセオリー」から次章「編集のセオリー」に進むことで理解が深まった。

Emacsを知る方法を知れる

この本はEmacs最大の特徴である拡張性についてはそこまで話を割いておらず、それよりもEmacs本体に組み込まれている膨大な機能を生かす方法を強調している。具体例でいえば help-for-help (C-h) や eval-expression (M-:) など。

自分自身もこれらを全く活用してこなかったんだけど、こうした学習効率が飛躍的に上がるヒントが書かれているのもありがたい。

初めての人にも再入門する人にもおすすめ

おそらく多くの人が大学でよくわからないままEmacsを教えられて、よくわからないまま卒業していったんじゃないかと思う。自分もそんな1人で、目先の便利パッケージをガチャガチャ弄ってばかりで理解が深まらないまま他のエディタに移って...という期間が長かった。

この本では大学のレジュメだったりインターネットの断片的な知識だけでは知りにくいEmacsの体系的な考え方だったり、適切な入門方法についてのヒントが書かれている。これから初めてEmacsを使おうとする人がこのエディタの素晴らしさを知るのにもよし、自分のように数回挫折して再チャレンジしている人にもよし、そんな内容に感じられた。

Emacsのような多様なテキストエディターをどのようにマスターすればよいのでしょうか? 驚いたことにその答えはシンプルです。正しい質問を尋ねる方法を知るというのがその答えです。

-Mastering Emacs v3 (JP)

Tweet