Emacs実践入門 改訂新版を読みました.

gihyo.jp

tomoyaさんから献本頂きました. ありがとうございます. 紙で置いておきたいというのと若干申し訳ないというのもあり紙版も購入しました.

感想

「実践」とつくように実践な内容です. 操作, 設定, 拡張の 3つのパートから構成されていますが, どれもほどよい長さにまとまっていて読みやすいです. その上, Emacsにこんな謎の機能あるんだとかではなく, 実際によく使う機能のことが多く書かれていると思います. Emacs自体膨大な機能から成り立っており, 標準機能だけで一冊どころではない本にできますが, それを全部書いたら尋常じゃない量になるし, 人によっては使わない機能ばっかりになってしまいます. この本では標準の機能, 標準外の機能が読みやすい形でまとまっているなぁと思いました. たまに登場するコラムもいいアクセントというか参考になると思いました.

初心者や Emacsを使っているけど 3rdパーティ製のツールを使っていないという人という人には特にいいかなと思います. Emacsと付く本はだいたい読んでいますが, 実践という意味では一番よいと思います.

初版とくらべて

だいぶ前に読んで記憶が若干あやふやですが, 拡張の章が微妙に新しくないなぁと思ったような気がするのですが, 今回の改訂版は新しくなっていて今時だなというのを感じました.

若干気になったところ(順番は適当でページ順ではありません)

  • minor-modeの有効・無効が t, 0が使われている箇所がある. 公式的には有効は正の整数(通常 +1), 無効は負の整数(通常 -1)を推奨
  • add-hookに lambdaを使っている. 紙面上の問題というのもあるけど, lambdaで指定しまうとそれを名前で参照する方法がないので関数で指定した方がよい. 特定の状況で無効化したいとき, 名前で参照できれば, それだけ remove-hookすればよいので.
  • major-modeの決定で見つからなかったら text-modeとなっているけど, fundamental-modeではないだろうか.
  • (どちらでもいいが統一されていないような)lambdaに quoteがついているところがある
  • foo.elと foo.elcがあると常に foo.elcが読まれるとあるが, load-prefer-newerに依存する. デフォルトだと nilなので, elcの方が優先されるのは確かですが

最後に

私が作成したツールも紹介されているのですが, 最近 Emacsまともに使っていないので申し訳ないですね. これを契機に Emacs感を取り戻したいと思います.