我一直在使用Lisp一段时间,但我开始更加认真地在Lisp中做一些"真正的"工作.我是一个巨大的Vim粉丝,并且想知道如何使用Vim作为我的Lisp开发编辑器来提高效率.插件,工作流程建议等都是受欢迎的.
请不要说"使用emacs",因为我已经加入了Vim,我真的很喜欢它作为一名编辑.
我不确定这是否只是我的代码的一个简单错误.但我无法弄清楚问题是什么,所以请指出来.
aaaaa
(progn
(setq ol-list nil)
(dolist (pos '(1 2 3 4))
(let ( (ol (make-overlay pos (1+ pos) (current-buffer))) )
(overlay-put ol 'display "X")
(print ol)
(setq ol-list
(nconc ol-list (list ol)))
);; let
) ;; dolist
)
(progn
(dolist (ol ol-list)
(delete-overlay ol))
(setq ol-list nil) )
Run Code Online (Sandbox Code Playgroud)
将上面的代码片段放在"lisp-mode"缓冲区的开头,并将eval(Cx Ce)放在每个progn部分.
在我的emacs上,第一个代码部分将"aaaaa"变为"Xa".但我认为结果应该是"XXXXa".那问题出在哪里?