日期:2014-05-17  浏览次数:21197 次

Lisp语言:在Windows环境下使用什么编辑器

前面一篇博文讲述了Windows环境下CLisp的安装,文章链接如下:

http://blog.csdn.net/keyboardota/article/details/8237185

安装了CLisp环境后,我们可以使用任何一种文本编辑器编写Lisp程序,然后在CLisp环境中通过(load "c:\your-path\your-lisp-file.lisp")来加载Lisp程序文件,并对程序文件中的Lisp代码进行测试。如果运行Lisp程序发现问题,则重新通过文本编辑器修改Lisp程序,保存后在CLisp中重新加载。虽然这种“一般编辑器”+CLisp的环境比较简陋,不过进行一般性学习还是可以的。

 

以上的环境使用一段时间以后就会有一个编辑器选择的问题,因为我们如果只是拿Windows下的记事本程序来写Lisp程序的话,会发现程序写起来比较麻烦,最主要的问题是配对的括号不会高亮显示。对于Lisp编程来讲,配对括号高亮是第一个,也是最重要的要求。在Lisp程序里有那么多括号,如果编程的时候选中一个括号而编辑系统不会高亮显示配对的另一个括号的话,那会是件讨厌的事情,程序一长的话你的大部分时间会花在数括号上。

除了括号配对功能,如果编辑器可以识别Lisp关键字并进行高亮处理当然就更好了。

 

按以上要求,找什么编辑器好呢?

首先Windows自带的notepad(记事本),writepad(写字板)什么的,没看到括号高亮的功能,不考虑它们,像上面说到的作为一般性学习还可以,真正写Lisp程序就不能用了。

Word?Word我们就不去考查了吧,用Word写程序可能会有人笑话我吧。

 

然后再看看常用的UltraEdit和EditPlus,好消息是UltraEdit和EditPlus都支持括号配对功能,不过两个都需要配置一下才行,配置方法如下:

EditPlus上启用括号配对功能比较简单,启动EditPlus后选择“视图->匹配括号高亮”就可以了。而且括号高亮显示比较明显,使用比较方便。

UltraEdit上启用括号配对功能麻烦一点,启动UltraEdit后,可以在“视图->查看方式(高亮文件类型)”中选择高亮的语言类型,有“语言1”到“语言20”这些20种语言可以选择,缺省情况下选择“语言1”就可以支持括号配对,不过启用后括号高亮显示不是很明显,灰色的高亮显示,需要仔细看才能看到。如果设置“语言1”以后配对的括号不高亮显示,可以在“高级->配置”中进行进一步的配置,在“配置”窗口中选择“编辑器显示->语法高亮”,然后选择“启用括号自动匹配”就可以了。

缺省情况下EditPlus和UltraEdit对Lisp的其它语法高亮处理都表现一般。

总体来讲UltraEdit和EditPlus都可以作为初步的Lisp编辑器使用,好处是一般Windows环境下的程序员都比较熟悉UltraEdit或者是EditPlus,使用起来比较容易上手,不会因为编辑器的原因对学习Lisp 语言产生畏难心理。

 

另外一个考察对象就是Eclipse,因为太多数Windows上的程序员都很熟悉它。可以肯定的是像Eclipse这种扩展能力超强的集成编程环境要支持Lisp的话一定是没有问题的。不过随便启动某个版本的Eclipse,发现缺省情况下不支持括号配对功能,对Lisp也缺乏其它关键字高亮支持。所以也不建议使用Eclipse作为Lisp的编辑器,毕竟我们只是需要一个编辑器而已,动用Eclipse并进行一系列配置功能在似乎有点不划算。

 

如果学习Lisp一段时间以后,希望使用高级一点的编辑器,就可以考虑“编辑器之神”和“神之编辑器”了。

 

“编辑器之神”就是VIM了,对Lisp的支持可以说非常好了,我个人使用起来觉得特别方便。不过大家可能会有疑问,Windows下使用什么VIM呀,那不是Linux上的东西吗?其实有个东西叫GVIM,可以在Windows环境下完美运行,下载地址如下:

http://prdownloads.sourceforge.net/portablegvim/GVim_Portable_7.1.0.exe?download

官方网站如下:

http://portablegvim.sourceforge.net/

不过,对于Windows程序员来讲,学习使用VIM会是一件痛苦的事情,刚打开的是可能都无法开始输入。所以不是特别建议Windows程序员使用VIM学习Lisp程序。

 

然后是“神之编辑器”Emacs!想装吗?想装个大牛吗?用Emacs吧!! :-)

Emacs可以说是Lisp最理想的编辑器了,重要的一点是Emacs内置Lisp支持,叫ELisp,可以通过Lisp语言对Emacs进行扩展。不过,我们现在讨论学习Lisp使用什么编辑器,就暂时不考虑Emacs的扩展了。

一般建议使用Emacs是建议使用Emacs+SLIME,把Emacs当做Lisp集成编程环境。我个人倒是不建议初学者直接使用Emacs+SLIME,主要是配置比较麻烦,还有是因为Emacs中窗口,buffer的概念比较特殊。

刚开始可以考虑使用Emacs+"Clisp命令行"的方式进行学习,在Emacs中对Lisp程序进行编辑,然后在CLisp命令行中通过(load "c:\your-path\your-file-name.lsip")的方式加载,然后进行测试。

把Emacs当做一个简单的编辑器的话,一般的工作都可以通过鼠标加菜单完成,不需要马上去学习各种C+x, C+f这样的快捷键。这样比较符合Windows程序员的习惯。

当然,括号配对功能和语法高亮还是要加上,可以通过一下步骤进行设置。

1. 启动Emacs

2. 选择“Options -> C+x C+c C+v Cut and paste(CUA)”,这个设置可以让Emacs支持Ctrl+c拷贝这样的惯常操作。

3. 点击“Optoins -> save Options”,这样可以让Emacs保存配置,并在窗口下方显示“Wrote c:/Users/xxx/AppData/Roaming/.emacs”字样的提示,这样你可以找到你的Emacs使用的是哪个.emacs配置文件。

4. 使用一般的编辑器打开第3步出现的.emacs文件,我的就是“c:/Users/xxx/AppData/Roaming/.emacs”

5. 在该文件中加上下面两行代码,分别启动括号配对和语法高亮

(show-paren-mode 1) ; hight light the bracket

(global-font-lock-mode t) ; hight light lisp key words
6. 保存.emacs文件并重启Emacs,这样你的Emacs就可以开始为你工作了。

 

最后,建议学习Lisp的程序员在有条件的情况下都去学习使用Emacs,对以后的Lisp学习会有很大的帮助,虽然学习Emacs的使用确实有点困难。

即使在对Lisp学习没有形成太大帮助的情况下,学习使用Emacs还是可以给你带来一点好处,那就是————装!咱用“神”的编辑器不是?