Emacs、Vim,还是其他?

我们不是想挑起争端,但我们仍然想知道:您最喜欢的开源文本编辑器是什么?
295 位读者喜欢这篇文章。
Vim or Emacs?

Jason Baker。

有些话题注定会引发一场 激烈的争论 充满活力的学术讨论。在餐桌上,可能是宗教或政治。但在开源用户中,除了询问首选 Linux 发行版之外,下一个最煽动性的 引人入胜的问题很可能是你更喜欢哪种文本编辑器。

并非每个人都花很多时间在终端上。但对于那些这样做的人来说,很难不对其中一个编辑器产生喜爱之情。一旦你掌握了所需的模式和击键,即使在图形环境中工作,也很容易完全放弃图形文本编辑器。当谈到提高工作效率时,掌握一种喜爱的文本操作工具是无与伦比的。

当我们几年前问过时,Vim 显然是赢家。但这是一种趋势吗?随着新用户选择几乎每台机器上都有的编辑器,Emacs 是否正在失宠?还是随着时间的推移,它仍然在吸引新的用户?

User profile image.
Opensource.com 发布关于创建、采用和分享开源解决方案的故事。在 Twitter 上关注我们 @opensourceway。

39 条评论

Sublime Text!

Sublime Text 编辑器是最好的编辑器之一,但它不是“命令行文本编辑器”。

回复 作者:Stefan Björk (未验证)

我进行非常简单的编辑,所以对于命令行来说,micro 或 nano 就足够了。当我在图形环境中使用 Kate 时...
玩得开心!

我对不同的事情使用不同的工具。我从小就用 emacs 进行编程,所以我更喜欢用 emacs 编写代码。对于我的系统工作,我在系统管理员职业生涯的早期就学会了使用 vi,所以习惯上用 vi 编辑系统文件(即使是 bin 中的小脚本)。

但是当我编辑其他东西时 - 例如编辑 HTML 页面或 CSS 文件、手工制作 SVG 图像或编写 readme - 我经常在 GNOME 上启动 gedit。它是一个简单的编辑器,可以完成我想要的功能,外加一些功能,例如基于语法的突出显示。

所以我在这件事上有点全面。

我主要使用 Joe,因为它具有与 Turbo Pascal 曾经拥有的类似的键盘快捷键 :) 但当然,我可以将 vi(m) 作为后备方案,因为默认情况下几乎所有 UNIX/BSD/Linux 系统上都可用。我尝试过几次 Emacs,但很快就放弃了...

Rob Pike 的 Sam 和 Acme,Sam 通常用于打开文件和远程编辑,Acme 用于其他所有事情,当我在 shell 中时,使用 nano。

我编写的唯一代码是 HTML(加上少量的 PHP)。我已经使用了 Bluefish 大约 16 年了。

Nano

Viper 模式下的 Aquamacs - 为了速度和易用性 :)
带有 Vrapper (vim) 的 Eclipse Oxygen.3a Release (4.7.3a) - 用于编辑

回复 作者:Stephen Etheridge (未验证)

nano

Emacs 不仅仅是一个文本编辑器。它是一个完整的基于 LISP 的应用程序环境。在我花更多时间在终端类型界面的时候,我用它来收发电子邮件、阅读 USENET 新闻,甚至浏览网页。

我仍然认为 Gnus 是最好的新闻阅读器之一,但不幸的是,没有更多主要的 ISP 提供新闻服务器来连接(而且我从未订阅过第三方服务)。

我不喜欢 vi 和 emacs。对于编写 Ada 和 C 代码,我使用 GNAT Programming Studio (GPS)。对于其他文本文件,我在 Windows 上使用 Textpad,在 Linux 上使用 gedit 或 geany

VSCode。轻量级但可扩展,跨平台

Geany。

Geany 也是我的选择。我希望它有 Kotlin 的语法高亮。当我在命令提示符下时,我使用 nano,并且我正在考虑应该找一个替代品。我发现自己在 Web 浏览器中按 ctrl-w 进行搜索,但这不太好:(

回复 作者:Mister Goldiloxx (未验证)

我已经将我的 vim 配置为类似于 atom(主题和外观)。虽然很难让它在美学上令人愉悦,但如果配置得当,它会轻得多。它非常适合 ssh

在较大的项目上,我仍然有时使用 atom,因为 Gui 允许我在某些不常做的任务中更熟练。任何你想做的事情,vim 都会有一个快捷方式,但如果你不知道,你必须花时间在网上查找。Atom 更直观。

我使用 Vim,但对 Emacs 有一种特殊的喜爱。我最近尝试了 Emacs 的 Evil Mode,并且很喜欢它,但过渡到 Emacs 可能需要一段时间。(特别是由于它目前在同时显示 Git 更改和相对行号时遇到问题......)

和一些人一样,我在这件事上也是全面开花。

Notepad++、NotepadQQ、Geany、Bluefish、SCite,以及谁知道还有什么。奇怪的是,还没有看过 EMACS 或 Vi/Cream...。听得越多,它们之间的界限就越窄。

坦率地说,为了向 XKCD 致敬,我会投票给那个允许我戴着烤箱手套以极快的速度打字的编辑器。可悲的是,我还没有弄清楚如何在故事情节中搜索单词“scamps”......。

Vim 和 Emacs 我都在使用,它们都有自己的用例。
这就是为什么我选择了“其他”。 :)

我只使用几个好的编辑器,包括 emacs、vim、ed 和 sed,并使用它们各自更专业的功能。我使用 vim 进行快速的即时编辑,并使用内置脚本来自动化一些复杂的编辑步骤。我使用 emacs 进行长期编辑,例如使用嵌入式图形和数学公式以及其他形式的文档进行多语言排版,作为各种编程语言的 IDE,具有语法高亮等功能。Emacs 有如此多的模式,你可能会惊讶于你的工作效率有多高。ed 和 sed 用于脚本的自动化编辑,因此脚本运行后我无需与文件交互。它们都节省了我的时间,这样我就可以做更多有创意的事情。

我大部分时间都使用 vim。没有什么比它更适合编辑配置文件了。我没有发现任何更快的浏览文件的方法。另一方面,仅 org-mode 就足以让 emacs 值得使用。我使用 spacemacs,所以我既获得了 vim 键盘快捷键的速度,又获得了 emacs 的强大功能。

我从来没有掌握 emacs,但已经使用 vi / vim [太] 多年了。
但是,我选择的编辑器是 nano。它速度快、易于使用且直观,具有我经常需要和使用的所有功能。

20 年前,从 DOS 和 Norton Commander 转过来,我习惯了 midnight commander.. 对于大文件或 mc 不可用的情况,使用 vi。

Emacs 对我来说。我曾经是一名 Lisp 程序员,所以选择很明确。天哪,我以前是 Lisp 机器程序员,所以 Emacs 是唯一的选择!

但说真的,当您使用一种理解该语言的编辑器时,Lisp 编程要容易得多。当编辑器实际上是它的 IDE,带有用于编译代码的命令和带有 REPL 的缓冲区作为编辑器的一部分时,就更容易了。似乎有各种尝试在 Vim 中支持 Lisp,但没有一个像 Emacs 对该语言的支持那样强大。

nano(比 pico 好 1000 倍)

我通常在控制台中使用 Vim 进行系统任务。VSCode 用于工作编程编辑。

vi。并不是我觉得它更优越或其他什么,而是经过 30 多年的使用,大多数命令都变成了编程到我手中的宏。而且,它在大多数发行版、Solaris 等上广泛可用,并且在 Windows 和 MacOS 上也可用。

直接使用 vi,没有 vim,讨厌 vim。

Emacs 用于长时间的繁重工作,一次数小时,vim 用于快速、一次性的事情。

通过适当的自定义,emacs 足够聪明,可以帮助你编写代码,而 vim 基本上只是按照它的指示去做。

从 UNIX/Linux 命令行,严格来说是 vi 或 vim 用于所有编辑(因此我投了票)。要从图形桌面完成任何实际工作,我都会弹出一个 xterm 窗口,并从该命令行使用 vi 或 vim。如果我只是在图形桌面中浏览文件,我会让文件管理器弹出任何可用的默认编辑器。

在 windows/dos 世界中,我仍然有一个出色的文本编辑器,名为 qedit。不幸的是,现在它只能在 DOSBox 窗口中运行,但这确实意味着我也可以在 Linux 下使用它。在 Windows 环境中,我使用了 TextPad 数十年,并且(就其价值而言)强烈推荐它用于任何类型的严肃文本编辑。

当一位研究生宣布每个人都应该过来看看他刚刚做了什么时,我在伯克利 Cory Hall 的计算机房里,他启动了一个特殊版本的“ex”并输入“:v”进入“可视化模式”,很快就被称为 VI。
尽管如此,在我在硅谷的第一份工作中,我被介绍了 ESE (Emacs Screen Editor)。从那时起,我就成为了 Emacs 的忠实粉丝。
emacs 和 vi 之间的区别很简单。在 vi 中,您必须附加或插入,并且光标永远不会放在回车符上。这使得每次编辑都是一个决定。我想在当前位置之后还是之前输入字符?在 emacs 中,光标始终显示在插入点之后。这样,您始终只需键入即可在文件中插入新文本。
Emacs 的这种简单性和其他强大的功能一直让我不断回来!

多年来,我一直使用 Geany,几乎没有插件或扩展。我将其用于 HTML、CSS、JS、PHP 以及简单的内容创建,以便专注于内容,然后再对其进行进一步编辑以添加一些布局或准备浏览器电子邮件程序之外的电子邮件。

我使用带有 TPU-EDT 选项的 XEMACS,因为我早在 VAX/VMS 的早期(在他们切换到 TPU 之前)就将我的神经系统编程为使用带有 EDT 的数字键盘,并且从未有任何动机重新编程它。

我花了 3 个月才掌握 vi,这比 ed 容易得多。在 90 年代后期,你没有太多选择。我发现击键现在是第二天性。

有趣的是?我更喜欢 NotePadqq....或 GEdit。我知道它们在技术上不如 Vim 或 EMacs 强大......但当我要编辑系统文件时,它们很适合我的目的。

我不是程序员,所以我主要将 gedit 与 Deepin 15.6 或 Kate 与 Neon 一起使用。我经常与 HTML 和 CSS 打交道,并且同时拥有 Vim 和 Sublime Text 3,最近,Sublime Text 3 已成为我的首选。对于轻量级编辑器,Kate 可以胜任这项工作。

我两者都用。如果是一些快速的事情,比如更改字符、删除一行之类的,我可能会使用 vi,因为它加载速度很快。即使在旧的或繁忙的机器上也是如此。对于真正的编辑,我使用 emacs。它只是强大得多。然而,Emacs 有一个艰难的学习曲线。可能比 vi 还糟。如果你不认真编写代码并且每天都使用编辑器,vi 可能是最好的。非常适合初学者。如果你想使用宏或类似 lisp 的编辑器,Emacs 是不可或缺的。通常情况下,我需要在文件中进行大量编辑,而下一个人真的很害怕它,因为他知道用 vi 进行这些更改需要很长时间。我大约在 5 秒内完成,因为我快速定义了一个宏。然而,这有点像口袋里装着典型的瑞士军刀的人,但只使用牙签。如果你不研究如何正确使用它,它的能力是什么,那是在浪费时间。还不如使用 vi。

我从 Emacs 开始,因为那是我大学计算机科学课程中的助教使用的。我第一次尝试 vi 时,我不知道如何输入文本或退出。我学习 vi 是因为我正在进行 Linux 管理,而 vi 是默认编辑器,安装在没有其他编辑器的系统上。最终,我学习了更高级的 vim,并开始更多地使用它,而不是 Emacs,因为它更轻量级。但是,当我可以选择时,我更喜欢 VS Code 或 IDE 进行编程。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.