EmacsにはScheme-modeというSchemeプログラミングをサポートするための環境があります。ここではGaucheとEmacsを使ってプログラミングするための
簡単なEmacsの設定について説明します。
まずは、Emacsの設定ファイル(.emacsなど)を開いて下さい。
初めに日本語などを扱えるようにするためにエンコーディングを決めます。
(setq process-coding-system-alist
(cons '("gosh" utf-8 . utf-8) process-coding-system-alist))
GaucheのデフォルトのエンコーディングはUTF-8となっているのでここではutf-8と書きました。もしEUC-JPならeuc-jp、Shift-JISならshift-jisと書いてください。
後は以下を設定に加えてください。
(setq scheme-program-name "gosh -i")
(autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)
ここでは、Scheme-modeで動かす処理系(ここではgosh)を決め、
ファイルやインタプリタでプログラムを書くときに便利なcmuscheme.elという
ファイルをロードする設定を加えています。
後はEmacsを再起動するなどして、設定を有効にしてください。
後は以下のコマンドをEmacsで入力すればEmacsの中でgoshが動くはずです。
M-x run-scheme
また、*.scmという名前のファイルを開けば、自動的にScheme-modeに変わるはずです。今後はファイルにプログラムを書きながら、インタプリタにその式を渡して評価するということができます。
Scheme-modeでは以下のコマンドが使えます。
| コマンド
| 動作
|
| C-x C-e
| カーソルのS式を評価
|
| C-c C-e
| カーソルのS式を含むトップレベルのS式を評価
|
| C-c C-l
| ファイルをロード
|
| C-c C-r
| リージョンを評価
|
| C-c C-z
| Schemeのインタプリタが動いているバッファへフォーカスを移動
|
また、Schemeプログラミングをする際、以下の移動コマンドを使うと快適になるでしょう。
| コマンド
| 動作
|
| M-C-f
| 次のS式へ移動
|
| M-C-b
| 前のS式へ移動
|
| M-C-a
| カーソルのS式を含むトップレベルのS式の先頭へ移動
|
| M-C-e
| カーソルのS式を含むトップレベルのS式の末尾へ移動
|
| M-C-d
| 1つ内側のS式へ移動
|
| M-C-u
| 1つ外側のS式へ移動
|
| M-C-SPC
| カーソルのS式の次のS式をマーク
|
| M-C-t
| カーソルのS式の前後の式を交換
|