Emacs 与 Vim:Linux 顶级终端编辑器之间的差异

Emacs 和 Vim 是 Linux 用户使用的两个最流行的文本编辑器。 Emacs 和 Vim 之间的斗争已经持续了超过 35 年,甚至在现代 Vim 编辑器出现之前。 对于每个软件的忠实崇拜者和仇恨者,新用户可能很难决定哪种文本编辑器可能更适合他们。

适用于 Linux 的 4 个基于终端的最佳文本编辑器

Emacs 与 Vim:详细比较

因此,让我们尝试分解双方的论点,并尝试分析哪个编辑器可能更适合您。

编辑的历史

我们今天看到的 Emacs 和 Vim 不是原始软件,而是更老的编辑器的分支(在开源中通常是这种情况)。

Emacs

Emacs(编辑器宏) 由 David A Moon 于 1976 年开发,使其成为当今存在的最古老的软件之一。 GNU Emacs 是 Emacs 最常用的变体(fork),由 GNU/Linux 的创始人 Richard Stallman 于 1985 年发布。

虚拟机

Vim(你改进了),顾名思义是一个改进的克隆 vi 文本编辑器。 这 vi 文本编辑器最初是由 Billy Joy 于 1976 年为专有的 Unix 操作系统开发的。 Bram Moolenar 后来增强 vi 并将其发布为 vim 1991 年。

Emacs 和 Vim 都是在 GPL 兼容许可下完全免费和开源的。

设计理念

这是两个软件之间最重要的区别。 作为文本编辑器的 Vim 和 Emacs 都有不同的设计理念,因此服务于两个不同的目的。

维姆

Vim 被设计为有史以来最高效的文本编辑器。 它占地面积小,打开速度非常快,无需触摸鼠标(甚至箭头键),具有数百个键绑定和命令,可加快编辑过程。

它具有模态支持(正常、编辑、可视、命令模式),可以浏览数千行代码并只需按几下按键即可进行更改。 例如,从 1 到 100 的单词形式只需要 55 次击键!

Emacs

Emacs 的设计远不止是一个文本编辑器。 相反,Emacs 为您提供了一个广泛的工作环境。通常,使用 Emacs 的人不会 close 一整天。 文本编辑器只是 Emacs 环境的一部分。

Emacs 具有图灵完备的语言 Lisp,您可以使用它为 Emacs 环境编写任何您想要的扩展。 这样你就可以通过扩展获得 Vim 在 Emacs 中提供的一切。

您可以在 Emacs 中记课堂笔记、访问文件管理器、使用 IRC、听音乐、进行演示、浏览互联网、使用图形计算器、玩游戏、使用 Reddit,甚至编辑视频等等。 你甚至可以打开一个 bash shell INSIDE Emacs 这意味着你甚至可以在 Emacs 中使用 Vim。

Emacs 是一个很棒的操作系统,但是它缺少一个好的编辑器

– 老 Vim 谚语

使用 md4rd 扩展在 Emacs 上浏览 Reddit

2.速度

VIM 和 Emacs 都非常快,尤其是与现代 Electron GUI 文本编辑器(如 Brackets 和 Atom)相比。 有人反对 Emacs 比 Vim 慢,但差异非常微不足道。 与 Vim 的即时启动相比,Emacs 启动大约需要 1-2 秒。 然而这并不重要,因为一旦你打开 Emacs,你就真的不 close 直到你的工作日结束。

3. 学习曲线

学习曲线是选择编辑器或是否值得选择的主要决定因素之一。

虚拟机

Vim 因其陡峭的学习曲线而臭名昭著。 这是很大的,因为它默认具有不直观的快捷方式和命令。 然而,一旦你掌握了它的窍门,它可以成倍地提高你的生产力。 Vim 提供 vimtutor 之类的功能,它可以让您在几个小时内开始学习基础知识,加班后您将学习更高级的功能,例如宏和寄存器。

一开始您可能会想将键绑定更改为更直观的东西,但强烈建议您不要这样做。 这是因为键绑定

Emacs

Emacs 的学习曲线取决于你想做什么。 文本编辑器虽然仍然比平时更难,但相对容易上手(与 vim 相比)。 但是文本编辑器只是 Emacs 的一小部分。 取决于您是否想要设计一个扩展来将 twitch chat 集成到 emacs,只是想在 org-mode 上做课堂笔记。

4. 可扩展性

任何软件的可扩展性都是它的支柱。 任何不可扩展的软件在无法适应新技术时都会随着时间的推移而消亡。 然而,Vim 和 Emacs 并非如此。

维姆

Vim 有一个非常活跃的社区,为软件提供扩展和插件。 您可以添加语法高亮、git 支持、花哨的主题、文件系统资源管理器等。通过扩展,可以添加现有的 vim 功能并将其基本上转换为成熟的 IDE。

VimAwesome 是一个很好的插件入门目录。

书呆子树扩展 Vim带有书呆子树扩展的 Vim

Emacs

正如我们之前看到的那样,Emacs 采用了类固醇的可扩展性理念。 您可以添加任何您的思想可以理解并且您的手可以书写的扩展。 这是一个为您提供数百个有用扩展的项目,包括文件管理器、快速导航、多语言语法支持、浏览器、谷歌搜索集成、谷歌地图和谷歌翻译、博客设置、LateX 和 PDF 支持、IRC 支持、Twitter集成等等。

Emacs 甚至有一个专门的包管理器来跟踪所有已安装的包。

真正的程序员

结论

话题 维姆 Emacs
速度 非常快 比 Vim 慢得可以忽略不计
学习曲线 更容易一些(但通常取决于任务)
可扩展性 有插件来帮助开发 基本上是一个操作系统。 疯狂的扩展数量

Vim 是一个专用的文本编辑器,它可以非常高效地完成这项工作。 它最小、快速、直接,如果您正在为任何工作寻找高效的文本编辑器,它应该是您的首选

另一方面,Emacs 是一个工具包。 它还具有文本编辑器、计算器、IRC 集成等。如果您愿意花时间设置整个环境,它会非常高效且值得,因为您基本上不需要离开它。

我个人的选择是 Vim,因为我个人不想把精力放在设置我不会使用的东西上,因为我的大部分工作都集中在带有 HTML5 和 Javascript 的图形浏览器上,这在 Emacs 中可能是一个问题。

进一步阅读

  • Emacs 编辑器教程——绝对的初学者参考
  • Vim 教程 – 开始使用 VIM 所需的一切
  • VIM Plug – 在 VIM 中安装插件的简单方法
  • 为什么选择 Emacs?
  • 有趣的 Vim 谜题