今日は ~/.emacs.d 以下を整理した。 init-loader.el を今更導入して ~/.emacs.d/init.el に全部書いてた設定用の elisp をいくつかのファイルに分けた。
もともと個別管理してた時期があって init.el のなかで (load "hoge.el") みたいなのを何個も書いてたんだけど、几帳面にやろうとしすぎて「特定のライブラリの機能にバインドするキー設定はライブラリの設定用ファイルに書くべきかキーバインドのカスタマイズ設定用ファイルに書くべきか」のような些末なことが気になったり、ファイルを分割する単位に迷ったり、 prefix の数字のつけかたに悩んだりして(くだらない)面倒くさくなってやめてしまったのだった。
今回はもう適当に、感覚で「これはメジャーモードの設定だし独立したファイルで」とか「見た目とか操作感のカスタマイズっぽいのは NN_ui.el にまとめて、便利機能みたいなのは NN_util.el に」とか、悩まないのを目標にしてざっと分けた。 load-path の設定だけ残し忘れてそもそも init-loader.el を読み込めなくなるなど凡ミスもしたけどたいして苦労せずに導入できた。
ついでなので前に導入したけど使いこなせてなかった Ruby のリファレンスマニュアルを anything.el のインターフェースでひく、というののカスタマイズに挑戦してみた。でもうまくできなかった。元ネタはこれ。
emacs から anything で ruby のマニュアル検索 - わからん (1)
anything で Ruby のマニュアル検索した結果に対して、メモを書き足していけるようにした - わからん (2)
「育てゲー」面白そうなのでやりたいんだけど、メモらず見るだけのほうが圧倒的に多いだろうから read-only で開きたい、そして q でバッファを閉じたい。なので両方の設定コードのソースを読んで組み合わせようとしたのだけど、バッファとファイルの操作がうまくできなくて断念した。 ~/rubyrefm/mydict/CGI というファイルを *refe:CGI* というバッファ名として view-buffer-other-window で開きたい(編集したくなったら C-x C-q すればいい)のだけどどうにもうまくいかず(会社の VM から git push してくるのを忘れたので試行錯誤したコードをここに貼れない)
Emacs Lisp いつまでたっても思い通りのことが実現できないけど、それでもちょっとずつではあるが読み書きは上達していると思う。 Emacs はこの調子だとまだまだ使い続けるだろうから、こんなペースでも経験を積み重ねていけばいずれは最低限の日常生活には事足りるくらいのレベルにはたどり着けそうだ。
あと、毎度のことながらキーバインドを決められない。オレオレキーバインドの情報を共有できるウェブサイトが欲しい。関数名または関数定義とそれに割り当ててるキーバインドを登録できて、検索したり一覧したりできる感じのが。「C-h を delete-backward-char 的なものに割り当ててるひとは M-x help-for-help (元の C-h) にどんなキーを割り当てているのだろう」とか、疑問そのものを言語化しづらい感じがある。ちなみにおれは C-x C-h に割り当ててる(そして C-h をキーコードレベルで DEL と入れ替えてるので実際は C-x DEL で help-for-help が立ち上がる、けっこうキモイと思う)