在Window平台中搭建Lisp学习环境(Notepad++篇)
Category:安装设置原作:庆森,修改:陆志广
原文:http://www.cnblogs.com/clisp/p/clisp-intall-on-windows-with-notepad-plus-plus.html
以上内容在原作者基础上略微修改,如有不妥之处请联系我
(QQ群390632710)共同学习进步。
在开始阅读本文之前,笔者先谈谈本文的目的吧。如果说你是刚刚了解到Lisp语言,没有折腾过linux的朋友,然后又已经看过Lisp相关的书籍,好想实践下书籍中的代码,那么本文适合你。相信有很朋友都跟我一样无论是工作、学习还是娱乐都习惯在Window平台上。不然折腾emacs的使用,很有可能到最后会把你学习lisp的兴趣也折腾没有了。
在这里我用的是ccl(ANSI Common Lisp 语言的实现)。目前官方有提供下载。安装也非常简单,这里就不列出步骤了。以下是目录支持系统。
安装完之后如下:
现在也可以直接在里面运行LISP语句了,来试试吧!
接下来安装Notepad++(文本编辑器),没有安装的朋友点击这里。官网可能不好进,大家可以直接百度。安装完之后我们还要给Notepad++安装NppExec插件(如果已经安装了的,请忽略这步)
大家先把中文的改成英文的,不然后面的NppExec插件可能会装不上,建议以管理员权限运行软件安装,中间如果失败可尝试重启系统,我的是Windows10 64位都可以安装好的。
找到菜单栏中的Plugins(插件)->Plugin Manager(插件管理)->Show Plugin Manager
找到NppExec这个插件,然后点击Install。安装完之后记得要重启Notepad++。
在下一步设置前,我们要先把编译器程序设置成全局变量才行。
右键电脑,属性,高级系统设置,环境变量,系统变量,Path,编辑,新建,输入程序运行目录,如:C:\lispbox-2018\ccl即可。
设置好后运行CMD,输入程序名,测试是否可以用。右键开始,运行,CMD
现在来配置Notepad++编译lisp,如上图找到Plugins->NppExec->Execute。
通过-l选项我们可以把源文件(*.lisp)或者编译后的文件(*.fas)加载到clisp环境中。
对于练习Lisp的语法我感觉-l选项就够了,所以我们配置的命令就是
NPP_SAVE
wx86cl64 -l $(FULL_CURRENT_PATH)
第一行命令的功能是执行前先保存下文件,因为运行的是保存的文件,有时忘记保存会得到不是想要的结果,手动保存点又有点费事,所以加这个命令很实用。这是后来更新了下内容,图片就不更新了。第二行才是加载我们的文件执行的代码。
下面点击Save可以保存下来,名字叫什么好呢?随你们喜欢吧。我就把它命名为:CCL LOAD。
点保存后界面下方就会出现运行框了,会看到界面已经改变了。
最后我们把CLISP LOAD功能加到Macros(宏)菜单中就可以方便的执行我们写的脚本了。
也差不多了,下面就来展示成果吧。
这是改回中文界面后的,大家要确保出现这个之后再改回语言。
点下CLISP LOAD,激动时刻来了。
点后会出现这个
(quit),输入这个点Send就可以运行了。如果在lisp文件的最后加上(quit)退出命令,就不会再出现上面的弹窗。
(defun say()
(format t “Helloooooooooooooooooooooooooooooo”))
(say)
(quit)
这里定义了一个say函数,打印欢迎信息。最后可以使用(quit)或者(exit)可以退出CCL模式。如果不加退出命令,每次重新运行都会弹窗口提示。
Lisp在Notepad++的语法高亮,这样设置下就可以了。
注:我按原文章测试过CLISP,还有SBCL,都不可用,原因是$(FULL_CURRENT_PATH)调用后的变量值是C:\lispbox-2018\ccl这种单反斜线,LOAD加载需要\\双反斜线或者/单斜线才行,大家根据需要测试修改。另外要注意的是,文件名不能有空格,特别注意新建的默认文件名是有空格的,这样编译会出错。需要另存为没有空格的,如果还出错请改下路径名和文件名也不要有中文名,或者检下函数是否有中文标点符号。好了,结束,有不足的地方欢迎指点,共同学习。
如果不喜欢这种整个文件执行的方式,想要只执行一个函数,可以参考下我写的另一个vs code ccl lisp配置的文章。
http://mip.i3geek.com