読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

Emacs実践入門を読みました

emacs tech book

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

 ようやく読んだ。とりあえずEmacsを使いはじめてtutorialを終えたくらいの人や、そろそろEmacsの設定ちゃんとしようと思う人はまず読んでおくと良いとおもった。


 僕の中では出てきた拡張がほとんど知っているものだったのでその点については参考にならなかった。しかし、フォント設定など基本設定まわりなどはずっと昔に設定した後そのまま放置していたので、その部分の最近の設定方法を知ることが出来たのが良かった。


 フォント設定の等幅設定が特に参考になった。
 
 これまでは以下のようにしていた。しかしこの方法だと文字の拡大縮小をするとおかしくなり、文字サイズを固定して開発するしか方法が無かった。

(create-fontset-from-ascii-font "Menlo-14:weight=normal:slant=normal" nil "menlokakugo")
(set-fontset-font "fontset-menlokakugo"
                  'unicode
                  (font-spec :family "Hiragino Kaku Gothic ProN" :size 16)
                  nil
                  'append)
(add-to-list 'default-frame-alist '(font . "fontset-menlokakugo"))

 それを等幅設定は文字の比率で指定できることを初めて知った。以下のように設定できる。これで文字の拡大縮小をしてもうまくいくようになった。フォント設定にface-font-rescale-alistを使う - すぎゃーんメモも参考になる。

(set-face-attribute
 'default nil
 :family "Menlo"
 :height 120)

(set-fontset-font
 nil 'japanese-jisx0208
 (font-spec :family "Hiragino Kaku Gothic ProN"))

(setq face-font-rescale-alist
      '((".*Menlo.*" . 1.0)
        ("Hiragino.*" . 1.2)))


 こういう基本設定は昔のままの状態で放置されがちなので、Emacs実践入門を読んでたまには追いかける必要があるなと思った。