『Emacs実践入門』をひととおり読んでみました。仕事で Emacs を使うことがだんだん増えてきており、いつかちゃんと勉強したいなと思っていたので、年末年始でいろいろ設定してみました。
![[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus) [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/513bqny7PYL._SL160_.jpg)
[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)
- 作者: 大竹智也
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
読後の感想
- とりあえず Emacs をハードに使って開発する基盤ができあがる: 本書の内容にそって init.el を書き換えていくだけで、開発に必要な設定が一通りできあがります。Emacs 使いならある程度共通してやっている設定や、 git の設定、各言語固有の設定までその内容は多岐に渡ります。
- それぞれの項目の深掘りはあまりない: 入門者向けなので仕方ありませんが、記載されている Elisp の解説やなぜそのような機能が実装されているのかといった深掘りするような話はありません。本当に必要最低限載っています。
読後の私の Emacs の状況はこんな感じになりました。
読書メモ
1章
Emacs の紹介です。
2章
インストールの仕方など。
3章
Emacs の特徴でもあるキーバインドについてです。頻出するキーバインドについてはひととおり押さえてあります。
4章
Emacs のカスタマイズが始まります。具体的には次のような話です。
- オススメのディレクトリ設定は、
.emacs.d
以下にinit.el
を置いて、さらにconf
,elisp
,elpa
,public_repos
,etc
,info
ディレクトリを作成する方法みたいです。他の GitHub 上のdotfiles/.emacs.d
も見てみたのですが、結構この構成に則っていることが多くわりとスタンダードな方法なのでしょう。 require
関数は、拡張機能を最初から全部読み込みたい際に使用し、autoload
関数はコマンドを登録だけしておき、実行時に読み込みたい際に使用します。
5章
より細かい Emacs 本体の設定がはじまります。設定は多岐に渡りますが、私は次の設定を再設定してみました。
- 文字コードの設定:
(prefer-encoding-system 'utf-8)
- 行番号を常に表示:
(global-linum-mode t)
- 対応する括弧のハイライト:
(setq show-paren-delay 0)
、(show-paren-mode t)
- バックアップを1箇所に集めるようにした:
(add-to-list 'backup-directory-alist `(cons "." "~/.emacs.d/backups/"))
、(setq auto-save-file-name-transforms `((".*" ,(expand-file-name "~/.emacs.d/backups/") t)))
/.emacs.d/backups
にバックアップファイルを集めてくれるようになります。バックアップファイルは必要なのですが、毎回そのファイルのディレクトリに作成されてしまって git を使った管理をしていてとても邪魔に感じていたので、非常に助かる設定でした。
- ファイルの自動更新:
(global-auto-revert-mode t)
6章
パッケージの管理に関する章です。ある特定の言語にとらわれない汎用的な設定がメインです。
- パッケージをインストールするには、elpa などの設定を済ませた後に
M-x package-install
することでインストールできます。 - ただし、インストールしたパッケージはすぐには反映されないので、
M-x package-initialize
します。 undo-tree
など便利なパッケージがいくつか紹介されていて、ひとまず私も何個か入れてみました。
7章
開発時に使用するパッケージの紹介で、magit
など便利なパッケージがいくつか紹介されています。Web 開発に特化している感じですね。RSpec との連携ができるとは知りませんでした。
今後
Lisp で設定ファイルを書けるのはやはり楽しいので、Emacs Lisp 関係の本も読んでみたいかもしれない。C 言語用の設定をやっと真面目に整えたので、C 言語ライフがちょっとはかどりそうです。