vim已经足够好用于编程clojure了吗?

时间:2013-06-06 14:28:39

标签: vim emacs clojure

我已经使用了很长时间的vim,我仍然很满意。 我6个月前开始学习clojure。似乎emacs是lispy语言编程的首选。 但我宁愿学习别的东西,也不愿花很多时间学习如何使用一个明显优于vim的编辑器。

所以我努力让我的vim设置更适合clojure编程。

我现在使用的是:

  • vim-clojure-static,提供基本语法高亮显示
  • paredit,提供s-expression
  • 的结构编辑
  • vim-fireplace,可与vim内的远程代表交谈

我也使用vim-redl,redl来获得调试代表,但上面的三个IMO已经可以提供非常愉快的编码体验。

我的问题是,我是否仍然缺少emacs工作流程的一些杀手级功能?

3 个答案:

答案 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

  

vim-sexp

     

符号表达式的精确编辑

此插件为Lisp提供映射,运算符和文本对象,包括Clojure。

我自己不使用Clojure,所以我无法确定,但该插件看起来非常有前景并且正在积极开发中。

答案 2 :(得分:2)

Lispers倾向于喜欢Emacs的原因是Emacs是一台lisp机器。如果您已经熟悉语言族及其倾向,那么能够使用它来扩展编辑器非常方便。

从我自己的(不可否认的是Common Lisp,而不是Clojure)工作流程,我喜欢autocomplete,参数提示和SLIME宏扩展器。我很确定你可以为vim获取每一个,所以不要过分强调其他人正在使用的东西。

请注意,如果您还没有,请查看slimvthis article on setting it up with Clojure。我自己没有使用它,不是vim用户,但它似乎足够接近。