Oeditの拡張と今考えるEmacsの方向性

常用しているテキストエディタ http://www.hi-ho.nh.jp/a_ogawa/oedit/のベータ版でマクロ機能としてSchemeインタプリタが使えるということで、今まで何気にほしかった機能を追加してみた。

Schemeインタプリタといっても、マニュアル読んだくらいで、いままで触ったことのない言語なので何とも言えず。
ただ、バージョンアップごとに使える関数が増えていることから、フルサポートというわけではなさそう。

まぁ当たり障りの無いものだけど、とりあえず覚書までに。っというか、最新版のChangeLog見てたら時間系の関数が使えるようになっていたっぽいので、ほぼサンプルをコピペ

おそらく、ver.5.9.7.3 (Ver.6.0β)以上で動作するはず

|scheme|
;; ==================================================================;; Ctrl+Dでカーソル位置に特定の日付フォーマットで挿入する
;; ==================================================================(app-set-key "Ctrl+D"
(lambda ()
(editor-paste-string
(sys-strftime "%Y-%m-%d %H:%M:%S"
(sys-localtime (sys-time))
)
)
)
)
||<

使い方は、oeditを展開したディレクトリにある「scmlib\oedit.scm」に上記スクリプトを追加して、エディタを再起動。日付のフォーマットが気に入らなければ、適宜修正のこと。ショートカットキーもしかり。

で、ちらっと使ってみて、色々できそうだなぁっと。何だかんだと言いつつEmacsよりはViをあまりカスタマイズせずに使っていた派なので、一種新鮮な感覚でした。確かにエディタを自由にカスタマイズできるのは面白いかも。いまさらですが。。。

でも、この感覚ははじめからEmacsを使っていたら、逆になかったかもっと思います。Emacsははじめから色々揃っていて、「自分が作れるんだ」というより、「こんなの使えるんだ」の感覚の方が強いような気がする。多分、今Firefox使ってる人もこんな感じなのかなぁと思います。

まぁ、作れる喜びと使える喜びでは、後者の方を感じる人が前者より圧倒的に多いっていう当たり前の話なんですけどね

勢い込んでEacs界隈で話に聞いていたChangeLogの入力を簡単化するマクロでも書こうと思ったけど、やめました。とりあえず、日時が好きなフォーマットで、好きなショートカットで出るようになったところで、御の字かなと

そういえば、Oeditには、プログラミング言語ごとの色分けを追加削除する機能がないなぁ。その辺を作るのは、実用的にありかなっと。思ったのですが、気になる点が一つ。そういう辞書の統一的なフォーマットってあるのだろうか。

どうせなら、そういうのに乗っ取った方がいいよなぁと思いつつまだ調べてません