我已经使用了很长时间的vim,我仍然很满意。 我6个月前开始学习clojure。似乎emacs是lispy语言编程的首选。 但我宁愿学习别的东西,也不愿花很多时间学习如何使用一个明显优于vim的编辑器。
所以我努力让我的vim设置更适合clojure编程。
我现在使用的是:
我也使用vim-redl,redl来获得调试代表,但上面的三个IMO已经可以提供非常愉快的编码体验。
我的问题是,我是否仍然缺少emacs工作流程的一些杀手级功能?
答案 0 :(得分:15)
对于clojure / lisp开发,emacs是否更好?是的。当然,你可以没有吗?我使用vim进行Clojure开发,但几个月前我转向了emacs,我很高兴我做到了。我个人觉得这是一个更好的经历。在此期间,vim插件可能已经成熟了一些,但是vim在外部进程方面有一些严重的限制等等。我有一些我非常喜欢的通用vim插件,但幸运的是他们都有emacs的替代品。
值得一提的事情:
我使用邪恶模式。就像汤姆提到的那样,它是一个vim仿真层。这非常好。我不会错过任何来自vim的东西。支持文本对象,所有vim模式等。我个人不记得所有奇怪的emacs键绑定,他们让我疯了。没有邪恶我不会使用emacs。我为paredit和其他一些插件创建了邪恶的键绑定,你基本上对类固醇有vim。我现在只使用vim进行快速编辑。
自定义Emacs是最难的部分。我现在爱Emacs但是如果没有我定制的Emacs配置,我不知道该怎么办。一旦你根据自己的喜好调整一切,就很难回到其他任何事情。我花了很长时间才达到这一点。如果您想尝试,请查看https://github.com/otijhuis/emacs我的个人emacs配置。它仍然需要一点工作,我不是Emacs大师,但它对Clojure开发非常有效。这可能是一个很好的起点。
答案 1 :(得分:5)
我想指出 vim-clojure-static 的维护者即将推出的 vim-sexp :
符号表达式的精确编辑
此插件为Lisp提供映射,运算符和文本对象,包括Clojure。
我自己不使用Clojure,所以我无法确定,但该插件看起来非常有前景并且正在积极开发中。
答案 2 :(得分:2)
Lispers倾向于喜欢Emacs的原因是Emacs是一台lisp机器。如果您已经熟悉语言族及其倾向,那么能够使用它来扩展编辑器非常方便。
从我自己的(不可否认的是Common Lisp,而不是Clojure)工作流程,我喜欢autocomplete,参数提示和SLIME宏扩展器。我很确定你可以为vim获取每一个,所以不要过分强调其他人正在使用的东西。
请注意,如果您还没有,请查看slimv和this article on setting it up with Clojure。我自己没有使用它,不是vim用户,但它似乎足够接近。