学生の時に研究室で毎日のようにコードを書いてたときに使用していたのはEmacsだった。
就職してからは、めっきりプログラミングすることが少なくなったけど、基本的にはEmacsを使用してたと思う。
メインマシンがMacになって、独立してからサーバ構築よりもシステム開発が主業務になり始めた頃、Railsのようなフレームワークも使用するようになった。
ビューとコントローラを行き来するのは面倒くさいなぁとか、海外ではTextMateが人気らしいなぁとか、左ペインにディレクトリツリーがあるような今時なMac用エディタが気になり始めた。
TextMateは日本語がうまく扱えてないという情報があったのでCodaを購入して使うことにした。
Codaの使い心地は非常に良かった。
アプリの見た目もいいし、プロジェクト毎に規定フォルダを開いてくれたり、タグを補完してくれたり、クリップというテンプレートなんかも便利だった。
Ruby、HTML、CSS、JavaScriptあたりを触ってるくらいであれば問題なかった。
そこに、PHPが加わるようになって、インデントに使用するタブ幅の問題が出てきた。
Rubyではタブコードは使わずに半角空白2個でインデントするのが標準的だ。
PHPでも、一人で開発しているときは関係なくRubyと同じインデントで開発していた。
しかし、複数人で開発をするケースが出てきたときに、すぐに破綻した。。。
PHPではタブコードを使用するのが普通だろう。
そこで自分がRubyと同じインデントを使用すると、当たり前だがソースのインデントが崩れるのだ。
逆にエディタ的には崩れてなくてもタブコードと空白が入り混ざって他のエディタで確認すると崩れているというケースもでてきた。
そこで、Codaでタブについて言語毎に設定できないものかと確認してみた。
しかし、Codaではタブの設定に関しては、言語毎に細かい設定がどうやらできないらしいことが分かった。
仕方がないので、RubyとPHPの開発によってその都度「環境設定」を変更するということをしたり、空白文字を表示する「不可視文字の表示」機能でタブと空白が混在してないか確認することにした。
はっきり言って面倒くさい。
これは人間のやることではない。
つまり、かゆいところに手が届かないのだ。
エディタどうしようかなぁと、ぼんやり思案している時期が数日あった。
TextMate2がAlpha版で出たというような話もあったけど、すぐには日本語で使えそうもなかった。
Emacsライクなキーバインディングの話しをツイートをして「それEmacsでいいんじゃない?」というようなリプライをもらったりもして、そうだなぁと納得してたりしていた。
最終的に、何気に少し読み返してみた「達人プログラマー」のエディタの項を読んで心は決まった。
# 本当に読了していたのかどうか、なんとも心許ない
「達人プログラマー」第3章 基本的なツール 16 パワー・エディット
エディターを一つ選択し、徹底的に知り抜いて、それをすべて編集作業に使うのです。もし一つのエディター(あるいは単独のキーバインディング)をすべてのテキスト編集操作で使えるのであれば、テキスト操作のたびに立ち止まって考え込む必要も無くなり、反射的にキー入力が行えるようになるのです。エディターは手の延長となり、軽やかなキー入力の音はテキストと思考の間を抜ける小道を渡る小鳥のさえずりのようになるのです。それが目標です。
その項を読んでいると、「ハッカーならEmacsかviでしょ?」と言われているような感じがした。
実際そうだと思う。
プログラミングはCodaかEmacsm、書きためるようなテキストはEvernote、メモやサーバ構築記録はmiとテキスト編集に使用するエディタも分散していた。
PCで行うテキスト編集作業はすべてEmacsにするくらいの勢いでやろう。Emacs縛りだ。
「かゆいところにも手が届く」環境をコツコツと構築していこう。
ということで、CodaからEmacsに出戻りました、とさ。