適当に試してみた
schemeを一度も触った事がないので本当は変かもしれないが微塵も気にもせずに、適当にemacs風のカーソル移動をschemeで試してみる。
;; C-fで右へ (define (forward-char) (let ((row (editor-get-cur-row)) (col (editor-get-cur-col))) (editor-set-row-col row (+ col 1)))) (app-set-key "Ctrl+f" forward-char) ;; C-bで左へ (define (backward-char) (let ((row (editor-get-cur-row)) (col (editor-get-cur-col))) (editor-set-row-col row (- col 1)))) (app-set-key "Ctrl+b" backward-char) ;; C-pで上へ (define (previous-line) (let ((row (editor-get-cur-row)) (col (editor-get-cur-col))) (editor-set-row-col (- row 1) col))) (app-set-key "Ctrl+p" previous-line) ;; C-nで下へ (define (next-line) (let ((row (editor-get-cur-row)) (col (editor-get-cur-col))) (editor-set-row-col (+ row 1) col))) (app-set-key "Ctrl+n" next-line) ;; C-gでマクロの実行を中止 (app-set-cancel-key "Ctrl+g")
おお...普通に動く。
もっとも今見る限りだと今は拡張出来る部分はそんなに多くはなさそうだけど。
ついでに、DeleteをC-dへやってC-sで検索とかも試してみようかと思ったけど、リファレンスにソレらしいのがないので、いまいちどうやるのかよく分からない。置換は直ぐ見つかるので色々出来そうだけど、置換する文字列をどうやって入力するのかが定かではないので、ちょっとインタラクティブにするには、アレな感じ。C-oとかは試したら直ぐ出来た。