OEditでマクロ
OEditでxyzzyの代替
僕は、テキストファイルを開くときにはOEditかxyzzyを使う。ちゃんと編集したいときにはxyzzyの方を使うけど、そうでないときはOEditというように使い分けてる。
だから、xyzzyでやっている操作をOEditの方でもできたらいいな、と。OEditはSchemeマクロが使えるので、それでやってみる。
OEditでマクロを使う方法
- scmlibフォルダにoedit.scmを作成
- それを開き、適当なのを書くとそのマクロが使えるようになる
という順序らしいです。
というわけで、xyzzyでよく使うのを登録してみた。
oedit.scm
;;Ctrl+Eで行の右端に移動 (app-set-key "Ctrl+E" (lambda () (define fl (string-length (editor-get-row-string (editor-get-cur-row)))) (editor-forward-char (- fl (editor-get-cur-col)) #f))) ;;Ctrl+:で行頭に"**"を挿入 (app-set-key "Ctrl+:" (lambda () (define cl (editor-get-cur-col)f) (editor-backward-char (editor-get-cur-col) #f) (editor-paste-string "**") (editor-forward-char cl #f))) ;;Ctrl+]で行頭に"*"を挿入 (app-set-key "Ctrl+]" (lambda () (define cl (editor-get-cur-col)f) (editor-backward-char (editor-get-cur-col) #f) (editor-paste-string "*") (editor-forward-char cl #f)))
これを
oedit.scmにコピペするだけ。
Ctrl+Eで右端移動というのは文書を書いてるときに地味によく使う。下の二つは、はてな記法でメモを書くときに使う、というかんじです。
あとやりたいこと
一行目をファイル名にして保存、というのをやりたいな。OTBEditっていうOEditのタブ版で、LightWriteみたいなことをしたい。
howmとかだと一度に一つの文書しか編集できないので、それの補助にOTBEditを使って複数の文書を同時に編集、というのをしている。けれど一々それを保存するのが面倒なのよ。それで、保存の際に自動でファイル名をつけてくれたらいいかな、と。