Emacs、Vim 还是其他?

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

Jason Baker.

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

并非每个人都花很多时间在终端上。但对于那些人来说,很难不发展出对一种编辑器的喜爱。一旦你掌握了你需要的模式和按键,即使在图形环境中工作,你也可能会想完全放弃图形文本编辑器。当谈到提高生产力时,精通你喜欢的文本操作工具是很难被打败的。

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

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

39 条评论

Sublime Text!

Sublime text editor 是一款最好的编辑器,但它不是 "命令行文本编辑器"。

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

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

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

但是当我编辑其他东西时——比如编辑 HTML 页面或 CSS 文件,手工制作 SVG 图像,或者编写自述文件——我经常在 GNOME 上启动 gedit。它是一个简单的编辑器,可以做我想做的事情,还有一些功能,比如基于语法的突出显示。

所以我在这件事上有点漫无目的。

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

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

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

Nano

Aquamacs 在 viper 模式下 - 为了速度和易用性 :)
带有 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 Machine 程序员,所以 Emacs 是唯一的选择!

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

nano (比 pico 好 1,000 倍)

我通常在控制台中使用 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" 进入 "visual mode",它很快被称为 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 那么强大......但当我要编辑系统文件时,它们很适合我的目的。

我不是程序员,所以我主要使用带有 Deepin 15.6 的 gedit 或带有 Neon 的 Kate。我经常使用 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 进行编程。

© 2025 open-source.net.cn. All rights reserved.