もっと早く欲しかった。Emacsの鉄板入門書は『Emacs実践入門』で間違いない


(友情出演:買ってきたうまいキャベツ)


id:tomoyaさんこと大竹智也さんご本人から『macs実践入門ー思考を直感的にコード化し、開発を加速する』を献本していただきました。ありがとうございます。書評が遅れてすみません。ちょっと血便でわさわさしてました。

いまなら確実にEmacsは入門しやすい

確かEmacsに出会ったのは2年前。おそらく当時の私であればEmacsを誰かに使ってみたらと安易にすすめることはなかったでしょう。

酷使した両手からしたたる血によってキーボードは真っ赤にそまり、Emacs Lispの括弧プレッシャーで括弧恐怖症となってしばらくかぎ括弧しか使えなかったあの頃。ロックマンに出てくるE缶のEの文字を見るたびにビビってティウンティウンだったあの日々・・・。

そんなトラウマを経験した私がすすめするわけがないでしょう。そしてこんなことがあったなんていう事実もないでしょう。

もちろん全て嘘なのですが、とはいえ、これは他人にすすめてええもんじゃねえだろと思っていました。だってできないんだもん。難しいもん。わけが分らないんじゃもん。

しかし、いまなら、興味があるなら使ってみたらとすすめることができます。

え?なぜかって?それはきまってるよ!現在にあって過去にないものがあるじゃないか!そう、『Emacs実践入門ー思考を直感的にコード化し、開発を加速する』があるじゃないか!!



という茶番はともかく。

ありそうでなかった初学者のための体系的なEmacs入門書

Emacs関係の書籍は入門書的な位置付けの書籍が少ないです。2年前にAmazonEmacsと検索しうなだれていた私が言うのですからきっと少ないのです。

オライリーから入門と題して出版されていますが、オライリーの入門書は入門どころのさわぎではありません。じゃあ他には・・・と探すと、だいたい古くて昔のしかない。あとはid:rubikitchさんのEmacs本が2冊(http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Daps&field-keywords=emacs+%E3%82%8B%E3%81%B3%E3%81%8D%E3%81%A1&x=0&y=0)ほどあったりしますが入門向けではありません。

このように、ありがちな初学者のための入門書がEmacsにはしばらく存在しなかったのです。だから以前あのような記事を自分で書いたりしました。ストレスたまってたのでおかしなことなってますが。

でも私はキーバインドの基本的な操作から概念的な内容をカバーしつつ、拡張を駆使した最新のEmacs環境が手に入れられる、そんな情報がまとまったEmacs本が一冊手元に欲しかった。あればいいのになとずっと思っていた。そしたらおかしなことにならなかった。

そして、ここに至ってようやく手にすることができました。今は、私の隣でぐっすり眠ってるぜ。キャベツ食ったからな。

本書が果たす入門書としての役割

本書の強みはEmacsの管理、操作、概念、拡張機能などといった、Emacsを入門する上で必要な情報が初学者でも分かりやすいように日本語でまとまっていることだと思います。

体系化されたそれは、Emacsのヘルプとウェブを彷徨う手間や時間を短縮し、正しい知識を身につけながら効率的に学ぶことができるでしょう。最初から最後まで読み進めれば最先端とはいきませんが、実用に近い開発環境が得られるようになっていると思います。


しかしながら、本当に初めてEmacsに触れる方は途中で脱落してしまうかもしれません。

でも、それはそれで問題はありません。たぶんキーバインドや拡張あたりでうんざりすると思いますが、だいたいの人はその道を通っているはずです。みんなうんざりしたことあるはずなんです。

私もうんざりしていました。他にもよくわからない専門用語にうんざりしていたし、ミニバッファとかいう一番下の用途が分からないやつにもうんざりしていたし、scratchの英語メッセージにもうんざりしていました。今でもdefadviceにうんざりしています。ああ、どうしようもなくうんざりしかしていない。


いえ、だから、逆に言えばそこで脱落したりうんざりしたり悩んだりするのは正解で、もっといえばこれを乗り越えるのが大正解です。

キーバインドが覚えきれなければ無理して覚える必要はありません。拡張の機能が分からなければ放置してください。もし用語さえも分からなかったらそれも放置です。

ずいぶんいい加減なことを言っているように思えるかもしれませんが、これぐらい余裕を持った方がすんなり乗り越えていけると思います。

本書の強みは先程も述べたように入門に必要な情報が初学者でも分かるよう日本語でまとまっていることです。これの意味することは、つまり、全ての知識を本書に頼ってしまえば良いというわけです。

全てを覚えて何事も自分で完結させるのはもっと後にしましょう。最初の1週間や2週間、まだ足りなかったら1ヶ月は本書に全て頼ってください。きっと時間が立つごとに本を開く回数が減っていくはずです。

こういった姿勢はゆるいといえばゆるいのですが、脱落してあきらめるよりマシではないかなと思います。

対象となる読者

Emacsの情報を日々追っていてがっつり拡張している人は物足りないと感じるでしょう。そして本書もそういった人はターゲットにしていないはずです。

となると、以下のような人が当てはまるのではないでしょうか。

  • Emacsに興味があるけれどなんか難しそうだから手を出していない人
  • Emacsを使っているけれど使いこなせているのか自信がない人
  • うんざりしてEmacsとさよならしちゃったけどやっぱり気になる人

などなど。

また、本書の冒頭でもまつもとひろゆき氏が「本書に寄せて」でこのようにおっしゃっています。

本書はEmacsのインストールから便利な拡張機能の紹介まで、Emacsの初歩から中級レベルまでの知識が紹介されています。本書がより多くの人々にEmacsの可能性を提示する入口となりますように。

少なくとも中級レベルまではあるとのことなので、初学者から中級に手が届きそうな人までといったところでしょうか。私もここに含まれますので、だから、もっと早く欲しかったのです。

今までのEmacsの入門は苦行だった

Emacsは入門が最大の壁と言えます。必要な情報が多い上に操作が複雑だからです。

しかし、「難しい」かというと少し違って「どうしたらいいのかが分からない」のです。どのように操作を覚えて知識を養っていけば良いのか道筋が見えません。この道は正しいのか、遭難していないのか、ビクビクしながら山登りをしているような感覚です。

ウェブを検索すると、あるのはキーバインドの表が載っているページと、おまじないとしかおもえないような内容の.emacs閲覧会と、http://cx4a.org/pub/emacs-is-dead.ja.htmlとかなんかいつの間にか死んでたページしかない。

まあ死んでてもいいけど、いや、良くないけどちょっとまってくれ、とりあえず最初は何を定石として学習したらいいのか教えてくれと、そんな思いです。

もちろんいくつか入門的な記事はあります。

本書の著者もこのように記事を書いていらっしゃいます。

しかし、知識がない者からすればドットファイルってなに?からスタートです。設定ファイルを自分で書かなければいけないことに驚きで、あたふたいろいろ調べてそのうちめんどくせって脱落してしまうでしょう。

こんなのUnixの世界でバリバリ生きている人にはぬるく感じるかもしれません。

でもそういった人間だってEmacsを使ってみたい。きっかけがEmacsであっても良いはずです。

だったら入門が苦行になっていてはいけません。入口はもっとハピハピハッピー*1であるべきです。

おれが苦労したことはお前も苦労しろだなんていう現実的な社会のルールはこの世界にはいりません。これから学ぶ人はもっと確実で簡単に入門して欲しい。入口はもっと楽に通りすぎるところで、そこから先の部分で悩むエネルギーを費やすべきなのです。

だからもし、これからEmacsを使ってみようかなと興味を持っている人や、なんとなくEmacsを使っているけれどもっとEmacsを使いこなせるようになりたいと思っている人がいたら。私は、私と同じようにEmacsがインストールされたPCの隣に本書を添えることをお薦めします。

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

余談

ヘルプが好き

Emacsのヘルプの扱い方を覚えるとEmacsに対する苦手意識がなくなりました。それにヘルプの見方を覚えるとLispが読みやすいです。本書のp54で紹介されているのでこれだけはぜひ覚えてください。

さらにAnythingという拡張にもっと便利にヘルプが扱えるコマンドがいくつかあるので、慣れたらそっちに移行すると良いと思います。

覚えない

キーバインドは覚えようとしないことです。一度には無理です。天才と自他ともに認めるできすぎ君ならともかく、できすぎない君は覚えられないです。めんどうですがキーバインドを忘れたらその度にEmacsのヘルプや書籍で確認しましょう。たぶん3,4回目ぐらいで覚えてるはずです。

小指について

私はネタで言っているだけなんですが痛くはなりません。でも以前にLenovoのキーボードで腱鞘炎ぽいことになったことはあります。小指関係ない。

Lispについて

EmacsにはEmacs LispというLisp処理系がありまして、これでEmacsを拡張していきます。そして拡張するには当然Emacs Lispを読んだり書いたりしなければなりませんが、読むだけなら読みやすいです。だいたい雰囲気で読めます。括弧はハイライトさせて端っこで踊ってるだけなんで気になりません。

なので、拡張を少しいじったり、ちょろっと設定を変更する程度なら誰でもできるようになるはずです。Emacs Lispをもっと本格的に学びたいのであればウェブの情報よりるびきちさんのEmacs Lispテクニックバイブルが良いかもしれません。でも最初はヘルプで事足ると思います。

エディタ戦争とか宗教論争とか

時々話題にあがりますが軽い揶揄だと思います。多くの人は「そんなことよりおれの嫁を探してくれ」といった程度です。そんな不毛な争いはこりごりで関わりたくないし、それよりもおれの嫁を寄こせというわけですがごめんなさい適当なこといいました。

でもおそらくみんな嫁は探してます。

○○さんが使ってたからとか、単純に使いやすいと聞いたからとか、上司に強制させられたからとか、嫁ができそうだからとかそういう理由でエディタは選べば良いと思います。

なので、Emacs気に入らなかったらぴぇーつってVのあれをぴゅーと使えばいいです。

だがしかし、Emacsはモテるらしい

よめさがしにEmacsはつかえるぞやろうどもうおおおよめはいねぇがあ。

感謝

以前にVimっぽい本をくれといったらEmacs本を手に入れました。ツンデレ戦法が良かったのかもしれません。

少し言い訳をすると技評さんに対してなんかくれとふざけていったのであってご本人様ではないのですが、いずれにしても乞食的な悪態であるのにも関わらず、id:tomoyaさんのご好意によって自筆のお手紙と共に献本を頂戴しました。ありがとうございました。

普段は自分で買ったチロルチョコさえも小さい子どもに絶対に譲らず、0歳時の子供に対して高橋名人並の連射をもってほっぺをぷるんぷるんし、その子の使用済み紙おむつ片手にあひゃひゃひゃと腐ったみかんの大人共に制裁(うんこ)を下す悪童な私ではありますが、ここに態度を改めることに致します。

というわけで、感謝の気持ちと誠意を込めて書評?といえるか分かりませんがレビューさせていただきました。




じゃあ、さあ、Vimっぽいのくれ。

おわりw