20年間 Emacs だった人が急に Atom に引っ越してみた - その1
アトトックのサトウです。
コーポレートサイトのリニューアル後、短めの記事が続いていたのでたまには長めの記事を書いてみます。ただし長くなりすぎそうなので何回かにわけてお送りしようかと思います。
序章
思えば中学生の頃から Meadow(当時の Emacs の Win32 版)のお世話になって、時々 vim に浮気しつつも、20年くらいに渡ってエディタはほぼほぼ Emacs。おかげさまでバッドノウハウも腐る程たまりました。しかも Mac にスイッチした高校生頃からは GUI 版じゃなくてターミナルの中で使っていたので(フォントを手軽に Courier にしたいってだけの理由だったはず、特にマルチバイト混在環境の GUI 版 Emacs なんかは行の高さを設定したりが面倒)、本当に文字コード周りのバッドノウハウは掃いて捨てるほどにいろいろと。特に昔の Mac OS X のターミナルは日本語文字コード周りに大量の問題を抱えていたので。今思い出しました。懐かしいですね。
さて、時は2017年、21世紀の最初の四半世紀もとっくに半分以上終わりました。
なのに1970年代のテキストエディタを使っているのは・・・ということで Atom に乗り換えてみようかなと、とある週末に突然思いつきました。
"Emacs だけの話じゃなかった"
先に書いた通り、ターミナルの中で Emacs を使うようになったのも15年以上前からで、ここ10年くらいは Emacs 自体がコードを書く環境の構成要因の一部になっていることに早速気付きました。ここ数年はずっと iTerm を使っていたのですが、tmux を使って画面を分割してエディタにシェルにログに・・・と開いていたこと、「これ、環境じゃん」って今更ながら。
ログを読みながらコードを書いたり、git にコミットするときはシェルの部分で、
$ git commit
みたいな感じでコマンドを直接叩いた上で emacsclient をコミットメッセージ編集用に設定してあったり、diff とか git のツリーを見たければ tig を使う(ここはあえて git コマンドのワンライナーじゃないところがこだわりです :-) )し、と zsh(bash じゃ嫌だ)依存がハンパなかったのです。
要するにエディタを Emacs から Atom にするだけじゃダメだったわけです。それ以外の部分も考えてやらないと・・・。
小ネタ:Emacs on iTerm の記号系マルチバイト文字化け問題
ちなみに iTerm の中で Emacs を動かしていると、記号系の一部の文字(例えば ▶︎ とか)が iTerm 側で半角的なレンダリングがされて、カーソルが1半角も自分として認識されます。iTerm の設定で全角文字であるのではないかと疑わしい文字は強制的に全角文字としてレンダリングする(Profiles > Text > Treat ambigious-width characters as double width) という非推奨オプションをオンにすることで回避できる文字もあるのですが、非推奨なオプションな上に副作用で他の文字が結局おかしなレンダリングになってしまうので、これは目を瞑っていたのは秘密です。
とりあえず以降の記録をまとめたものを文章に起こしてみていますが、なかなか骨の折れる作業です。興味のある方だけお付き合いいただければありがたいです。そんなわけで、次回は実際に環境移行をはじめてから・・・の話です。