我应该从Vim转换到Emacs吗?如果是这样,有什么建议吗?

13

首先,我喜欢vim。我已经使用vim几年了,它改变了我对编辑器的能力的看法。我也喜欢模式。

然而,我正在考虑转换,原因如下:

我真的很喜欢Xcode,并且它有emacs绑定。我使用Mac OS X,所有文本输入字段都有emacs功能。我讨厌使用鼠标,我认为转换是有意义的。

我也有点厌倦在终端窗口中完成所有工作:使用Xcode,我将可以访问一个伟大的IDE和一个伟大的无鼠标编辑器(emacs)。

说了这么多,我发现emacs的Meta键方法有点不舒服,有点令人生畏,而且我花了很多时间学习在vim中进行操作。

我应该转换吗?如果是这样,是否有其他人做过这个转换或者同时使用vim和emacs并且有自己的偏好和原因呢?

此外,对于使用Xcode的emacs用户,Xcode中的emacs实现有多好?值得转换吗?

6个回答

24
为什么不能同时使用两个编辑器?使用Emacs并不意味着您必须停止使用Vim。
学习和使用两者的好处:
- 有时候某种语言在一个编辑器中比另一个更好。更好的语法高亮、更好的缩进规则、更好的宏、更好的外部工具集成等等。如果可以在Vim和Emacs之间选择,那么您将总是使用最适合当前任务的编辑器。 - 有时候一个社区会更偏向于其中一种编辑器。无论使用哪种编辑器,您都可以参与到社区中去。 - 您可以从一个编辑器中学习有用的技巧,并将它们移植到另一个编辑器上。这两个编辑器都有一些特性,如果您只固守其中一个编辑器,您可能就无法想到这些特性。 - 如果某台计算机只配置了其中一种编辑器,您仍然可以有效地使用它。 - 学习很有趣。 - 极客信仰。
劣势:
- 学习需要时间和精力。 - 片段化和重复(所有你喜欢的技巧和按键映射都必须在Vim脚本和elisp中编写两次)。
我认为优势大于劣势。
我使用Emacs编写Lisp代码,并且因为我使用Lisp进行Web开发,所以我也在Emacs中使用CSS、Javascript等。 我使用Vim编写Ruby、Python、Perl、PHP、BASH、纯文本和几乎所有其他内容。这两个编辑器都有优点和缺点,但主要都有优点。
了解您更喜欢Vim还是Emacs的唯一方法是在两者上投入时间,以便可以做出明智的决定。也许您会发现Emacs更适合您的思维和工作方式,也可能没有。这是非常主观的事情,唯一的了解方法就是尝试。
文本编辑器不是宗教,您的大脑中的免费磁盘空间在实际上是没有限制的。因此,请使用两种编辑器并享受其中的乐趣。

1
我正在使用 Vim 和 Emacs,并且完全同意学习两者。如果您先使用并喜欢 Vim,那么在使用新版 Emacs 发行版默认附带的 Vi(per)-mode 时切换到 Emacs 可能不会太难。实际上,我正在使用启用了 viper-mode 的 Emacs 和 vimpulse。它将 Vim 的优点带到了 Emacs 中。 - Kenny Meyer
还有一种针对 EMacs 的 Evil 模式,模拟 vim 的绑定键。http://www.emacswiki.org/emacs/Evil。 - snowbound

6
不。一旦成为vimer,就永远是vimer。

6

请记住,Emacs有viper模式,可以让您继续使用当前的vi键绑定。至于meta键,我将我的大写锁定键映射为ctrl,将右侧shift键映射为alt,并且一直很满意。


3
很遗憾,viper-mode并不是VIM。它只是vi的按键绑定。另外,还有一个名为vimpulse的插件,据说比vi更接近于VIM,并且可以用于emacs。 - projecktzero

4
这可能更容易:Vi输入管理器插件(适用于Xcode)链接

4

在 Mac OS X 和 Xcode 中对 Emacs 的支持不多,大多数只是一些按键。

Mac OS X 自带一个终端版本的 Emacs。一个非常好用的 Mac OS X 版本的 Emacs 是 Aquamacs


1
唯一让我考虑转换到emacs的原因(我偶尔会尝试)是因为它拥有精美的elisp包 - 特别是所有特殊的编辑模式和控制台/调试器模式。
我从未使用过Xcode,但我从你的问题中推断出这些只是emacs键绑定。也就是说,您无法在Xcode中使用任何emacs包。
所以不要转换到emacs。如果您想使用Xcode,请学习键绑定或使用一些Xcode vi模式(正如其他人建议的那样)。

为什么只有真正掌握一项技术的人才会全心全意地建议学习它呢? - sjas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接