Wei*_*Qiu 13 vim emacs clojure
我已经使用了很长时间的vim,我仍然很满意.我6个月前开始学习clojure.似乎emacs是lispy语言编程的首选.但我宁愿学习别的东西,也不愿花时间学习如何使用一个明显优于vim的编辑器.
所以我努力让我的vim设置更适合clojure编程.
我现在使用的是:
我也使用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开发非常有效.这可能是一个很好的起点.
Lispers 倾向于喜欢 Emacs 的原因是 Emacs 是一台 Lisp 机器。如果您已经熟悉该语言家族及其趋势,那么能够使用它来扩展您的编辑器确实非常方便。
从我自己的(诚然是 Common Lisp,而不是 Clojure)工作流程来看,我喜欢自动完成、参数提示和 SLIME 宏扩展器。我很确定你可以为 vim 获取这些内容,所以不要过分强调其他人正在使用的内容。
请注意,如果您还没有看过slimv和这篇有关使用 Clojure 设置它的文章。我自己没有使用过它,因为不是 vim 用户,但它看起来已经足够接近了。