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

Wei*_*Qiu 13 vim emacs clojure

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

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

我现在使用的是:

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

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

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

小智 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开发非常有效.这可能是一个很好的起点.


glt*_*lts 5

我想指出即将到来的vim-sexp,由vim-clojure-static的维护者:

VIM-S曝光

符号表达式的精确编辑

这个插件为Lisp提供了映射,操作符和文本对象,包括Clojure.

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


Ina*_*thi 2

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

从我自己的(诚然是 Common Lisp,而不是 Clojure)工作流程来看,我喜欢自动完成、参数提示和 SLIME 宏扩展器。我很确定你可以为 vim 获取这些内容,所以不要过分强调其他人正在使用的内容。

请注意,如果您还没有看过slimv这篇有关使用 Clojure 设置它的文章。我自己没有使用过它,因为不是 vim 用户,但它看起来已经足够接近了。