OEditでマクロ

OEditでxyzzyの代替

僕は、テキストファイルを開くときにはOEditxyzzyを使う。ちゃんと編集したいときにはxyzzyの方を使うけど、そうでないときはOEditというように使い分けてる。

だから、xyzzyでやっている操作をOEditの方でもできたらいいな、と。OEditはSchemeマクロが使えるので、それでやってみる。

OEditでマクロを使う方法

  1. scmlibフォルダにoedit.scmを作成
  2. それを開き、適当なのを書くとそのマクロが使えるようになる

という順序らしいです。
というわけで、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を使って複数の文書を同時に編集、というのをしている。けれど一々それを保存するのが面倒なのよ。それで、保存の際に自動でファイル名をつけてくれたらいいかな、と。