141019 日曜 Emacs の思い出話

普通に起きた。朝食後すぐに勉強しようと思っていたけれど「まだ時間はある」という意識があり、着手を保留していた Emacs の org-capture の設定をしていた。

plan.org というファイルに Todo を、note.org というファイルにメモを記録していく。柔軟に設定ができるので自分が Emacs に合わせるのではなく、ツールの方を自分に合わせることが可能。他のものでは代替不可能な Emacs の魅力だろう。

私と Emacs

兄から「Emacs いいよ」と聞いたのは確か 2007 年頃だったと思う。実家で C-n で↓、C-p で↑等の操作を見せてもらって、そのときは「n と p で配置が対称なわけでもないし覚えにくそうだな」と思っていた。

最初は、これまで使っていたエディタ(いわゆる普通の Windows アプリケーション)と全く操作感が違っていて単純な作業(ファイルを開く、ファイル名を変更して保存、検索・置換など)をするにも覚えることが多くて、すぐにあきらめたっけ。

まずはカーソルの移動から

ただ、会社で使っているメーラー Becky では結構細かくキーバインドを変更できたのでメール作成エディタでのカーソル移動を Emacs 風に変更してしばらく使ってみたところ、慣れると圧倒的に楽で効率がよく、どう考えてもこっち(Emacs スタイル)の方がいいと心から信じるようになった。

続いて Xkeymacs も導入して他のアプリケーションでも Emacs キーバインドを使うようになって、なかでも IME の ON/OFF を Ctrl-; で切り替えるがとても便利で特に気に入っていた。これは今もどのマシンでも同じように設定している。

その後、兄から Macbook late 2008 を譲ってもらったのが確か 2009 年の夏くらいで、そこから Emacs を使い始めたような気がする。その頃に Python も勉強し始めたのかな。でもしばらくは CotEditor をメインに使っていたと思う。全く新しいことを 2 つ同時に学んでいくのが大変だったのかもしれない。

Python

Python も「みんなの Python」を兄からもらって読んでみたけれど、目が滑るというか文字列を視認しているのだけれど理解が全然追いつかなくて読むとすぐ眠くなっていた。その後、諸般の事情で PHP をかじってみたり、Java の本を買ったり(結局やらなかった)と右往左往していたけれど、しばらくしてから(ごく簡単なものとはいえ) Python を使った「勤務先の仕事を効率化する仕組み」をいくつか書いたりしたし、それらは多少のブラッシュアップを経て今も活躍しているので僕も少しは成長したのだと思う。

Emacs を使い始めた

話がそれた。Emacs をちゃんと使うようになったのはいつ頃か覚えていないけれど多分 2011 年とかもう少し前くらいだろうか。今は Windows でも Gnu Pack の Emacs を入れて使っているし、自宅では MacCocoa Emacs だったり、iTerm 上で Emacs を使ったりしている。このはてなダイアリーの文章も 2012 年ころからは全部 Emacs の org-mode で書いていて、ブラウザにコピペして投稿している。

Emacs の魅力は上の方にも書いたとおり柔軟に設定できることと、豊富な拡張性、キーボードだけで完結させられる操作性だと思う。auto-save-buffers とか auto-complete とか、anything, auto-insert, 各言語のメジャーモードなどちょっと手を入れる(elisp をインストールする)だけでぐんぐん便利になる。

なんといっても org-mode がまた素晴らしい。素晴らしすぎる。プレーンテキストのファイルなのに、アウトラインプロセッサのように見出しで階層構造を表現したり、文章を折りたたんで表示したり、チェックボックス、時間計測、タスク管理もできてしまう。作った人、作っている人はすごすぎる。会社でも自宅でも毎日ありがたく使わせてもらっている。感謝。

これから

いちおう普段自分が使う分にはあまり困らない程度には使えるようになったし、わからないことをググって何とかその場を凌ぐことはできている。恐らくこの先もずっと使い続けるだろうとほぼ確信しているので、そのうち Emacs Lisp も理解してより自分に合わせてカスタマイズできるように、また自分がほしい機能は自分で elisp を書けるようになりたいなと思っている。

とんかつ

上野御徒町駅からすぐのところにある「山家」というお店に行ってみた。ヒレカツ定食(大)で 1,180 円だったかな。柔らかくて美味しかった。次は他のメニューも食べてみよう。