"Emacs 実践入門" を読んで Emacs の良さを再認識する

普段プログラミングをする際に Emacs を使っているのですが,最近は『あまり使いこなせてないなぁ』と思うことが多々ありました.
そんなとき,下記の『Emacs 実践入門』という本と出会いました.ここではこの本の感想と,本を読んで改めて思った Emacs の良さを書きたいと思います.

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

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

Emacs

前もって私の Emacs 歴を記しておくと,初めて Emacs に触れたのは大学1年生の Unix に関する講義の中で,今は社会人 1 年目なので Emacs 歴は 7 年という事になります.ですが,(途中 3 年くらい触れていなかった時期があるとはいえ)とてもとても 7 年目と言えるレベルではなく,キーバインドはある程度覚えている程度で Emacs Lisp は全くと言っていいくらい読めないレベルです...(ちなみに作者の id:tomoya さんは Emacs 歴は 4 年だそうです.4 年でこの本を書くとはすごい...)

感想

率直に感想を述べると『この本すげぇ!!』の一言に尽きます.何がすごいかというと,この本には Emacs をほとんど使いこなせていない私でもわかるわかりやすさ と『そんな機能あったんだ!』という驚きが詰まっています.そして何より,この本のいいところは本に書いてある設定を真似するだけで『便利な機能を簡単に導入できる』というところだと思います.そこで,以下ではこの本といいところを書こうと思いました.,Web を見るともう既に書評を書いている方が多く見受けられたので,ここでは私が思う Emacs で躓くところ,Emacs 良いところを書きたいと思います.

Emacs でよく躓くところ

私が日常で Emacs を使う中で躓いたところ & 躓いているところは以下の 2 点だと思います

  1. キーバインド
  2. 設定ファイル

キーバインドでつまずく

まず何より Emacs を初めて使うにあたり最初にぶつかった壁は Emacs 特有のキーバインドでした.

大学で初めて Emacs に触れたと書きましたが,その当時は何より『キーバインド』の意味すらわかりませんでした.私は情報系の学科に所属していましたが,入学した動機は『なんとなく』というお粗末なもので,Unix など触ったことなどあるわけもなく,Windows も『インターネットは使える』レベルでした.そして知っているキーバインドは「Ctrl-s」で「保存」,「Ctrl-c」で「コピー」,「Ctrl-v」で「ペースト」,「Ctrl-z」で「アンドゥ」ぐらいでした...(今考えるとなかなかだ^^;)

そんな「パソコンちょっと触ったことあるよ人間」にとって Emacsキーバインドはカオスそのもので「どうやってこれセーブするんだ!」「わけわかんない画面出てきた!」「Ctrl-z で元に戻せねぇー!!」というのは日常茶飯事で,最終的には泣く泣くマウスでメニューバーからコマンドを選んでいました.

そんな自分が Emacsキーバインドに慣れるきっかけになったのは,やはりプログラミングだと思います.プログラミングをよくやる方なら分かると思いますが,カーソルの移動の際にいちいちホームポジションを崩して,キーボードの右下にあるカーソルキー (もしくはマウス) を触るのはちょっと億劫だと思います.情報科に所属していたこともあり,ちょくちょくプログラミングをする機会があった私も,徐々にホームポジションを崩すのが煩わしく感じ,頑張って Emacsキーバインドを体に叩きこみました.今ではプログラミング以外で文書を書くときも Emacs キーバインドでないと困るぐらい慣れました.

設定ファイルでつまづく

Emacs に慣れてきた頃の方は次の段階では .emacs 或いは init.el などの設定ファイルを弄り始めると思います.私も『こんな機能ないかな』と Google にキーワードを打ち込みよく設定を探しています.しかしながらここでもよく躓くことがあります.

まず検索で引っかかった設定をコピペで .emacs に書きこんでも,記事が古い場合やバージョンの違い,環境の違いなどでうまく動作しないことがしょっちゅうです.また,自分が想像していた挙動と違うことも多々あり,結局,諦めることが多くあります.Emacs の設定は Emacs Lisp で書いてあることが多く,これが読めない自分にとってはデバッグのしようがないというか,そもそも読もうとすらしていないのが原因かもしれませんが..

ただ最近は Emacs 実践入門を読んだこともあり (?) ,また,Emacs Lisp も結局はプログラミング言語の一種 (?) だと気がついたこともあり,設定がうまく動作しないときにはなんとなくではありますが デバッグができるようになりました.よくよく考えれば当たり前のことで,設定に書いてあることがすべてでそれ以上でも以下でもないんですね ^^;

やっと本当の Emacs 生活が始まったような気がします.

Emacs のいいところ

今度は Emacs のいいところをつらつら書こうと思いましたが,正直,上に書いたことがそっくりそのまま Emacs のいいところだと思います.

つまり,Emacsキーバインド自在な設定が可能 というところに尽きると思います.

キーバインドは他のエディタでも普通に存在するものなので Emacs だけのメリットではないかもしれませんが,後者の自在な設定は Emacs が一番得意とするところだと思います.Emacs を使い始めたばかりの方はいきなり設定ファイルをいじり倒すというところまでは行かないかもしれませんが,やはり効率のよい作業を目指す場合には自分に合った設定を探すのが一番だと思います.

まとめ

とりとめない文書になってしまいましたが,Emacs はプログラミングをするにも,文書を書くにもとても適したエディタだと思います.Emacs に触れたばかりの頃は全くといっていいほど Emacs の良さがわかりませんでしたが,数年使ってみることでその良さが少しずつ分かってきたような気がします.

そして何より Emacs に触れたばかりの人や Emacs をもっと勉強しようという人には『Emacs 実践入門』はとてもお勧めです.