2021年になって、Emacsを使い始めるという狂気。
理由は、SML#の開発環境の構築のため。
why?
「2021年ですよ!?」という悲鳴はその通りである。もっともである。
SML#の開発環境、これで一番つらいのは、smlとsmiとの間での型の不一致にすぐには気づけないこと。 ここらへんの静的型チェックをやってくれるのが、VSCodeにはなく、唯一あるのが、Emacsだった。
Doom Emacs
Vanilla Emacsは使う気になれなかった(一度負けている)ので、いい感じのを探した。候補となったのは次の2つだった。
- spacemacs
- Doom Emacs
これらのうちいずれを使うか、となったときに、spacemacsはインストールして、ちょっと使って、なんか嫌な感じがした(ただのファースト・インプレッションなので、根拠は特にない)。
Doom Emacsは、単純に、スタート画面が「オタク」って感じがして、好きになった。
keybinding
キーバインドをどうするか、という話になったときに、Evil emacsを使っているんだから、vimでいいかな、となったが、なんとなく、EmacsのKeybindを使うことにした。
理由は、CTOにEmacsに慣れたらいいじゃないですか、という提案を受けたことと、 あとは、前に一度挫折したから。
vimのキーバインドは直感的には理解しづらいし、学習しててつらいから。
入れたもの
- yontaさん謹製のelでもろもろ入れる
- これでinterfaceとの型の一致を検査できるようにするのが一番ほしかったやつ
C-c C-r
で選択したコードを実行できるのもよい。
- multi-term
- multiple-cursor
感想
結局、仕事では、全然使っていない。あくまでも趣味のコードや文章作成では使うかな、という感じ。
開発環境の構築がまだあまりできていないので、こういう状況。
Emacsキーバインドについては、だいぶ慣れてきた感じがする。 ただ、十字カーソルを使わないことによる利点はあまり感じられない。というのも、普段使っているのがKinesis Advantageなので、矢印の操作と対して変わらない。
コードジャンプなどはまだ整っていない感じがする。
結局、SMLやSML#が「流行る」かどうかというところになると、開発環境を含む開発体験の向上がないとどうしようもならないだろうと思う。 (私がこのあたりの環境をよくしようという気持ちはあまり湧かないが、残念ながら)