Emacs、Vim,还是其他?

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

Jason Baker。

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

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

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

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

39 条评论

Sublime Text!

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

回复 ,作者是 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

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 屏幕编辑器)。从那时起,我成为了 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.