IDE输入模式,emacs或vim

时间:2013-12-18 19:15:50

标签: eclipse vim emacs

首先,这不是关于emacs vs vim的问题。我使用eclipse IDE进行编程,我打算继续使用它。阅读了emacs和vim的许多优点,特别是在不使用鼠标的情况下几乎可以做任何事情的能力,我想在我的eclipse IDE中使用类似的输入/编辑方案; 我知道有可用的插件用于eclipse将编辑样式更改为emacs或vim(emacs +,vrapper等等)。

由于我计划继续使用eclipse,vim和emacs的各种优势,如小内存占用,vim / elisp脚本,不同平台上的可用性,可配置性等都丢失了。我想只保留文本编辑方案来eclipse并掌握它,同时保留所有eclipse的功能。

所以,我想客观地比较一下emacs和vim的文本编辑风格的优缺点。

编辑:我无法摆脱eclipse的原因是因为我的公司使用自定义版本的eclipse,它具有特定的插件和dsls来与我们的产品(硬件)进行交互

4 个答案:

答案 0 :(得分:5)

  

我无法摆脱日食,因为我公司使用的是eclipse的定制版本

请注意 Vim不是IDE (搜索会引起对此主题的各种讨论),因此这种二分法不存在。您可以并行使用两个 Vim(用于文本编辑)和一个真正的IDE(用于调试,源代码浏览等)。一个简单的“Vim中的启动当前文件”集成很快就完成了,您已经注意到有几个插件将基本的键绑定(但不是巨大的可定制性)带入IDE。

另外,令我感到奇怪的是你还没有对Vim和Emacs的偏见。大多数人呼吸和生活他们的键绑定非常多,他们也希望他们的IDE;你似乎只是“听说过”这些优点,但还没有经历过它们。

我的建议:使用你的IDE进行工作(无论如何),并试用Vim(以及Emacs),可能是休闲任务,小脚本,博客等等。然后你可以亲自看看你是否会“迷上”其中一个,或者IDE可能会对你很好。此外,时间会判断一个简单的集成是否足够,或者你是否想要像 Eclim 项目那样紧张和深入的东西。

答案 1 :(得分:1)

我只能讲一些关于vim的东西,我曾经偶尔使用过emacs,但它似乎与我不兼容。虽然我真的很喜欢lisp方言的方案。 Vimscript是一个恐怖的编程,但它是可能的。

vim提供的主要功能是它为语言添加超出语言语法的结构。您可以使用vim的动作来操纵,编辑和转换文本。这些都是vim的核心,必须要学好。这种模式组合使vim成为文本编辑的强大工具。

另一方面,对于代码编辑,vim需要一些修改才有用。您将进行大量配置。大多数人将他们的vim配置保存在防火和防弹保险箱中,因此他们不会丢失他们痛苦地构建的选项,插件和其他配置用具。那包括我。 vimrc很个人化。 Emacs更易于配置。我可以更快地把它拿起来。

你必须学习大量的知识才能使用它。 Emacs更容易,您可以立即使用它。我第一次遇到vim是无法离开该死的程序,不管我做了什么。我的第二次遭遇,是小心翼翼地击中我和键入一些文字并迅速命中:wq。但是后来某个地方我突然想要驯服它。

Vim有宏,这使得很多文本转换任务变得有趣。例如。这会移除一行末尾的空格,我有时会运行以停止关于空格的pylint的唠叨:

qs:g/ $/s///g<CR>@sq

你应该把它读作:在寄存器s中记录一个宏,用空的全部替换所有空格,在寄存器s中应用宏,停止记录。点击时:

@s 

此宏将无休止地运行,直到您满意为止。我仍然想找到一个,在他追捕最后一个空间后停止。这使得vim很有趣,它是一个带有单字母命令的小语言。您可以将字母组合在一起:

4f,d$

这意味着找到第4个逗号(,)并删除(d)从那里到结尾($)的行。这使它非常有吸引力。

我个人会去找vim,但你必须尝试编辑。他们有不同的哲学,其中一个会咬你,另一个看起来合情合理。我不相信你会找到很多人,他们同时使用并掌握两者。它们都可用作代码编辑器。

我的心愿单上仍有emacs,也许我会换掉。

答案 2 :(得分:0)

这可能是有意义的:

https://github.com/senny/emacs-eclim

这是eclipse的前端,提供Emacs功能以及Eclipse,而不仅仅是模仿Emacs键。 这里有一些截图:

http://www.skybert.net/emacs/java/

答案 3 :(得分:0)

我建议reading these answers因为它们包含两者之间的大量差异(尽管提到的很多好处对你来说无关紧要)。我强烈建议你试试看。

你会注意到的一个很大的区别是Vim使用modes,这使得它有一个很高的初始学习曲线,而Emacs是无模式的,你可以像普通的文本编辑器(记事本)一样使用它,但是增加了功能。而且他的你的风格/偏好很重要。我个人不喜欢holding control down在Emacs中移动,在Vim中,你逃到正常模式并使用hjkl来移动。

相关问题