概述Edwin 是 MIT Scheme 系统的一个窗口式的编辑使用前端。其功能和使用方式都像著名编辑器 EMACS,使用方面的进一步细节可以参考 EMACS。本页简单介绍 Edwin 的使用。启动 Edwin 实际上是先启动 Scheme 系统再启动一个 Edwin 前端。Edwin 是一个用 Scheme 写的交互式编辑器。其特点是支持 Scheme 表达式的编辑和求值。 介绍 Edwin 的文档里常提到 buffer,这个概念类似于一般多窗口编辑器的编辑区。 两种不同执行模式在 Edwin 执行时,一个编辑区(称为一个 buffer)可能处于两种不同的运行模式:
建议大家在编辑模式下编写程序(函数的定义,所需基本数据的定义等),检查无误后(例如,函数能正常定义了)保存,然后在 REPL 模式里装入(用 Scheme 语言的 load,见使用简介)并做各种试验和调试(输入并求值各种具体计算表达式)。 记号:C-x,C-c 等表示按住 Ctrl 键的同时按 x 或 c 键;M-p 等表示在按住 Meta 键的同时按 p键。在 PC 键盘上没有 Meta 键,可以直接用 Alt 键加上 p 键,或者先按 Esc 键再按 p 键。 帮助信息在 Edwin 里按 Ctrl-h t,它会装入一个 tutorial 文件,其中讲述了各种常用命令。在 Windows 的 Scheme 程序菜单里的 Documentation 包含大量与 Scheme 有关的信息。网上可以找到许多相关信息。下面是一些有用链接: 退出系统C-x z (表示按 Ctrl-x 后按 z 键):从 Edwin 中退到 Scheme 的命令交互状态。此时 Edwin 挂起,可用 (edit) 唤醒挂起的 Edwin,回到挂起前的状态。C-x c :停止 Edwin 并回到 Scheme 的命令交互状态。 C-x C-z:停止 Edwin 并挂起 Scheme 系统。再次启动 Scheme 将唤醒挂起的 Scheme 系统,回到挂起前的系统状态。 C-x C-c:停止 Edwin 和 Scheme 系统。 求值 (exit) 退出 Scheme 系统。 简单编辑和执行光标移动可以通过普通移光标键,或通过鼠标点击。用 Delete 或 Backspace 键删除字符。在正常输入过程中,每次输入右括号 "(",环境将自动闪烁对应的左括号 ")"。 对于多行输入的表达式,换行后按 C-i,系统能将光标自动对齐到合适位置。对于各种复杂的 Scheme 表达式,例如 let, cond, 等等,Edwin 都定义了很好的对齐方式。 求值表达式的方式:将编辑光标(反色小块)移到表达式后面,按键 C-x C-e 。 被求值的表达式将由另一个线程求值,在求值过程中我们仍然可以做编辑工作。 C-c C-x 或 C-c C-u,用于杀掉正在进行的求值。 C-c C-b 中断当前求值,进入断点状态。 翻页等命令:C-v:向下翻一屏 M-v:向上翻一屏C-a:移动到行首 C-e:移动到行尾 两个常用操作在 REPL 模式下,所有输入的历史都有记录。这使我们可以很方便地再次使用曾经输入过的表达式。 M-p 反向枚举曾经输入的表达式,M-n 正向枚举这些表达式。这里列出了 EMACS 的一些常用命令(中文,在 Edwin 里都可用) 调试如果正在进行的求值出错,系统将给出一些错误信息,并询问是否启动调试器(debuger)。回答 y 要求系统启动调试器,显示出一个新的调试器窗口;回答 n 回到原求值循环。(这部分内容将进一步建设) 编辑技术其他Edwin 前端是一个功能强大的编辑器,允许用 Scheme 对其功能进行任意的扩充。这方面情况与 EMACS 类似,只是这里用的扩充语言是 MIT Scheme(EMACS 用的是 EMACS Lisp)。请参考 MIT Scheme 文档和 EMACS 文档。 |
|