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 时...
've phun!

我对不同的事情使用不同的工具。我从小就用 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

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

回复 ,作者: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 模式并且很喜欢它,但这可能需要一段时间才能过渡到 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 好 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”以进入“可视化模式”,该模式很快被称为 VI。
尽管如此,在我在硅谷的第一份工作中,我被介绍使用了 ESE(Emacs 屏幕编辑器)。从那时起,我就成为了 Emacs 的忠实粉丝。
emacs 和 vi 之间的区别很简单。在 vi 中,您必须追加或插入,并且光标永远不会放在回车符上。这使得每次编辑都是一个决定。我想在当前位置之后还是之前输入字符?在 emacs 中,光标始终显示在插入点之后。这样,您始终只需键入即可在文件中插入新文本。
Emacs 的这种简单性和其他强大功能一直让我不断回来!

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

我将 XEMACS 与 TPU-EDT 选项一起使用,因为我在 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.