scheme-mode
.scmで起動します。
標準のままだと利用しずらいし、動作しません。カスタマイズは必須です。
;; パスの設定
(setq scheme-program-name "/usr/local/bin/gosh -i")
;; デフォルトのままだとだめです
(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)
;; python-modeに似せています。C-c!で画面を分割し、分割画面にschmeインタプリタバッファを表示
;; かなりいいかげん
(defun my-scm-shell ()
(interactive)
(let ((win (selected-window))
(tmpbuf " * temporary *"))
(pop-to-buffer tmpbuf)
(run-scheme scheme-program-name)
(select-window win)
))
;; カッコの色の変更。この設定だと薄めの色になります
(defvar paren-face 'paren-face)
(make-face 'paren-face)
(set-face-background 'paren-face "black")
(set-face-foreground 'paren-face "gray50")
;; 定義をhookに設定して有効にします
(add-hook 'scheme-mode-hook
(function
(lambda ()
(define-key scheme-mode-map "\C-c!" 'my-scm-shell)
(setq scheme-font-lock-keywords-2
(append '(("(\\|)" . paren-face))
scheme-font-lock-keywords-2))
)))
(setq cmuscheme-load-hook
'((lambda () (define-key inferior-scheme-mode-map "\C-c\C-t"
'favorite-cmd))))
C-x C-eで実行していきます。C-c!した後ならインタプリタのバッファに結果が表示されます。
補助
代替
ほとんどの場合はScheme-modeを変更すればいいだけですが、代替物も作成されています。
Quack
http://www.neilvandyke.org/quack/
参考
http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs21/scheme.html
http://www.ksky.ne.jp/~sakae/sicp/gosh-run.html
http://homepage3.nifty.com/oatu/emacs/misc.html
http://openspace.timedia.co.jp/~nyama/wiliki/sicp.cgi?Emacs%A4%C7Scheme&l=jp
LispUser.net : /emacs/2006-12-20-20-36.html 括弧の理由 (1) -- Emacs による S 式編集支援
synthcode:補完
