文档章节

【Scheme归纳】1 使用Edwin

NoMasp
 NoMasp
发布于 2015/09/08 21:48
字数 1216
阅读 21
收藏 0

Edwin介绍

Edwin是MIT Scheme系统的一个窗口式的编辑使用前端。启动Edwin实际是先启动Scheme系统,再启动也给Edwin前端。Edwin是一个使用Scheme写的交互式编辑器,其特点是支持Scheme表达式的编辑和求职。

两种模式

Edwin模式:
编辑Scheme文件的模式,如果装入一个.scm文件,相应的Edwin的这个编辑区处于Edwin模式。这种模式下可以编写Scheme程序,也可以对表达式求值。正常求出的值显示在最下面交互行,但不会显示出错信息,也不能进入调试系统。

REPL模式:
REPL也就是Read-Evaluation-Print-Loop,读入-求值-打印-循环。在该模式下,你可以看到状态条显示”REPL:lsten“。这时系统处于正常的Scheme交互模式,所有输出都显示在编辑器的窗口中,只不过是在Edwin中执行。这种情况下可以输出所有信息,包括进入debug模式。

主要快捷键

对于多行输入的表达四,换行后按C-i,系统能够将光标自动对齐到合适位置。
C-v:向下翻一屏   M-v:向上翻一屏
C-a:移动到行首   C-e:移动到行尾
C-b:往左移一位 C-f:往右移一位
C-p:往上移一位 C-n:往下移一位
C-xC-e则会对左边(光标位于表达式后但在同一行)或上一个(光标位于表达式后但位于下一个表达式前且不在同一行)表达式求值。
对区域内所有代码求值可以用C-M-z,若在Windows下使用Edwin,必须得前清理掉最上方的版权信息等。

装载文件

装载文件可以采用

(cd"d:\\lisp\\scheme")
(load"scheme1.scm")

然后按下C-x C-e之后会显示
;Loading “scheme1.scm”…done
当有大量的函数等需要写入的时候,建议用另外的记事本等来保存。

退出及缓冲区

一旦进入了Edwin,可以通过如下的方式退出:
C-xz 停止Edwin并返回到Scheme(suspend-edwin)。进入Edwin的editor过程调用正常返回。接下来若调用edit则会从上次停止的地方重启Edwin。
C-xc 保存任何修改过的缓冲区,关闭Edwin并返回到Scheme(save-buffers-kill-edwin)。这个与suspend-edwin命令类似,不过下次调用edit会重新初始化编辑器。
C-xC-z 停止Edwin并挂起Scheme,把控制权交给操作系统的命令解释器(suspend-scheme)。当Scheme被重新启用(使用命令解释器的作业控制(job-control)命令),Edwin会自动从它停止的地方重启。这个命令与Emacs的C-x C-z命令是一样的。
C-xC-c 保存任何修改的缓冲区,然后关闭Edwin和Scheme(save-buffers-kill-scheme)。把控制权交给操作系统的命令解释器,Scheme进程也被终止。此命令与Emacs的C-x C-c命令相同。
全局变量的补全功能:键入变量的前面几个字符,然后键入C-M-i,Edwin就会尝试去补全变量的名称,根据当前界限内的变量集。若给出了一个参数前缀,C-M-i会补全这个名称,根据当前的限制的(interned)符号集合(包括了边界变量作为一个子集)。

文件开关

文件的打开与关闭,编辑器的关闭。按下Ctrl-XCtrl-F来打开一个文件。如果你指定的文件并不存在,则会创建一个新文件。初始路径被设置为了‘C:\’,你在打开文件前应该修改这个路径。按下C-XC-S来保存文件,而按下C-x C-w则是文件另存为。退出编辑器请按下C-x C-c。

缩进

按下C-i或者TAB可以缩进。

复制粘贴

剪切,复制和粘贴。我们无法使用鼠标,因此复制(剪切)、粘贴起来就会显得不太方便。但你可以像下面这样做:
首先,通过方向键将光标移动至待选区域的开头,然后按下C-SPACE。
然后移动至结束位置按下C-w来剪切区域,按下M-w来复制区域。
最后,移动至你想要复制的区域,按下C-y。

求值S-表达式

按键M-z用于求值以define开头的S-表达式。
按键M-:用于在一个小型的缓冲区中求值S-表达式。这个通常用在测试用M-z求值的函数。
按键C-x C-e用于求值整个scheme缓冲区中的S-表达式。



感谢访问,希望对您有所帮助。 欢迎关注或收藏、评论或点赞。


为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp


版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.csdn.net/nomasp

本文转载自:http://blog.csdn.net/nomasp/article/details/44220805

NoMasp
粉丝 7
博文 334
码字总数 0
作品 0
镇江
程序员
私信 提问
学习 Dialplan 4.语音邮箱

语音邮箱的配置文件:/etc/asterisk/voicemail.conf 格式如下: [test] edwin=>1234,edwin chen, edwin@testmail.com ;edwin:用户名,1234:密码,edwinchen :全名 ,最后一个mail地址? 然后要...

skq
2013/02/20
122
0
红色警戒95版的地图编辑器Edwin.exe

今天研究了下红色警戒95版 (RedAlert,下面简称ra95)的地图编辑器。 ra95的地图编辑器,名为Edwin.exe,图标如下图: 一般来说,Edwin打开后是全屏的,不过如果你希望以窗口化的形式打开它...

北风其凉
2016/06/04
849
0
Unity免费插件分享 UniWebView3-3.8.0 Unity3D手机网页视图插件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KiTok/article/details/83178351 Unity免费插件分享 UniWebView 3 3.8.0 Unity3D手机网页视图组件 最新版 Un...

KitStar
2018/10/19
0
0
AI教你考托福?一家受谷歌、YC青睐的教育科技公司

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kXYOnA63Ag9zqtXx0/article/details/88265835 硅谷Live / 实地探访 / 热点探秘 / 深度探讨 对于留学生来说,背...

硅谷密探
2019/03/06
0
0
艾德温·史密斯(外科)纸草文稿

人类认识到脑的功能重要性,并不太早。在古希腊时代,包括中国古代,人们都认为心才是人类的最重要器官,脑的很多功能被归功为心。在更早的古埃及时代,埃及人也不认为脑子是什么重要的器官,...

Owl of Minerva
2015/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MBTI助你成功,让你更了解你自己

MBTI助你成功,让你更了解你自己 生活总是一个七日接着又一个七日,相信看过第七日的小伙伴,很熟悉这段开场白,人生是一个测试接着又一个测试,上学的时候测试,是为了证明你的智力,可谓从...

蛤蟆丸子
今天
55
0
Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
昨天
63
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
昨天
87
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
昨天
63
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
昨天
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部