我为什么从 Vim 切换到 Emacs

一位长期忠实的 Vim 用户在关于文本编辑器的古老争论中倒向了另一边。
102 位读者喜欢这篇文章。

我一直是 Vim 的忠实用户,具体时间,嗯,我已经记不清了。多年来,我尝试过其他编辑器,但 Vim 命令和键盘快捷键对我来说已是第二天性,以至于每次我想在另一个应用程序中保存时,都会不自觉地输入 :w。因此,很长一段时间以来,我一直坚持使用 Vim 进行所有笔记和写作。通过将 Vim 与 Markdown 语法相结合,我可以轻松地将我的笔记导出为任何格式,以供其他用途或与同事分享。

我一直很喜欢在终端中工作,但我通常需要其他应用程序来处理电子邮件、日历以及跟踪我花费在各种任务上的时间,我喜欢这样做有很多原因。我尝试过不同的云解决方案、看板和电子邮件客户端,但我一直在寻找一种在终端中完成所有这些操作的方法。我尝试了一些很棒的命令行时间跟踪和看板项目——但我的工作流程中总是缺少一些东西。直到我读到一篇关于在 Emacs 中使用 Org 模式的文章。

我之前尝试过 Emacs,发现 Emacs 中需要跟踪的命令和键盘组合甚至比 Vim 还多!然而,每次我读到一篇解释 Org 模式不同用途的文章时,Emacs 似乎就是我一直在寻找的解决方案。所以我再次冒险进入了 Emacs 的世界。

我迈向 Emacs 的步骤

起初,我努力尝试记住所有新命令和无穷无尽的 CTRL + 键组合。我了解到我可以调整 Emacs 以使用我熟悉的 Vim 命令和键盘快捷键,但我决定应该先尝试学习 Emacs 的基础知识。

我搞砸了很多次。我不得不手边放着一份 速查表 来检查自己。撤销是我最常查找的命令。随着时间的推移,这些命令和击键逐渐被我接受,并且,随着我的不断进步,在我的 Emacs 配置中添加更多功能并习惯了这个环境,它最终变成了,即使不是我所需要的一切,至少也是我迄今为止找到的最佳解决方案。

时间和任务跟踪

我开始使用 Emacs 和 Org 模式仅仅是为了我的任务和计划,取代了我之前使用在线看板的方式。我使用 TODOIN-PROGRESSDONE 标签设置我的任务,镜像了我习惯在我的看板上使用的工作流程和设置。可以轻松地按不同的状态或关键字进行排序或过滤,这使得找到最重要、最需要关注的任务变得容易。后来,我为等待他人或因各种原因搁置的任务添加了 WAITHOLD 选项。Emacs 提供了很好的选项来为我的独特需求进行自定义;例如,我很快设置了颜色编码,以便轻松查看不同的状态。

通过使用 Emacs 的 议程,我可以查看我所有安排的会议和截止日期,因此我减少了切换到公司日历应用程序的需求。

Emacs 对我来说的主要优势是能够跟踪我为每个任务或每次参加的会议所花费的时间。在每周和每月结束时,我可以提取时间报告的统计数据,或者仅仅是为了我自己的信息和跟进。我主要使用 这种方法 来记录我的时间。

笔记

既然我正在使用 Emacs 进行时间跟踪和计划,那么切换到 Vim 进行笔记和写作就有点奇怪了。所以我开始直接在 Emacs 中创建和打开我的笔记文件;毫不奇怪,这非常方便,因为在我的笔记和待办事项文件之间切换更容易了。

此外,就像在 Vim 中一样,您可以设置 Emacs 来对 Markdown 进行颜色化。但很快,我开始为我的笔记使用 Org 模式的语法,因为它提供了其他不错的功能,例如关闭和展开不同标题的功能。

安装 Pandoc 后,我只需按几下按键即可将我的笔记导出为 HTML、PDF 和其他文档格式。

我还没有迁移到 Emacs 的一件事是电子邮件。在工作中,我们使用 Microsoft 365,虽然可以在 Emacs 中阅读和发送电子邮件,但存在太多障碍,例如预订会议和会议室,以至于似乎不值得将它们带入我的终端。也许我的个人电子邮件可以考虑一下……

真正的争论是什么?

在使用 Vim 的这么多年并观察了旧的“Vim vs. Emacs”争论之后,我觉得自己像个叛徒一样转向了 Emacs。我见过并尝试过 Vim 中类似的特性或附加组件,但它们似乎从未像在 Emacs 中那样流畅地工作。我仍然使用 Vim 来快速记录笔记,或者当我想在文件内部或文件之间复制和粘贴某些内容时(因为我不记得在 Emacs 中正确执行此操作的方法——但总有一天我会记住的)。

也许争论真的不是关于 Vim 与 Emacs,而是关于使用最适合手头任务的技术。探索两者,欣赏两者。在那之前 :wq!

接下来阅读什么
User profile image.
Jimmy Sjölund 是 Red Hat 的首席敏捷实践者,专注于组织转型和团队卓越,同时探索敏捷和精益工作流程。他是一位可视化爱好者和开放组织大使。

21 条评论

你真是个勇敢的人。哈哈,开玩笑的。虽然我能理解不同的立场和坚持一方,但我必须同意你所说的要使用最适合工作的工具。我非常同意。我自己也同时使用 Vim 和 Emacs,因为它们都很棒。我总是说,为什么要限制自己只用一个呢。

是的,我的主要困难一直是记住 Vim 和 Emacs 的键盘快捷键。如果只需要记住一个就好了。不过话说回来,因为我仍然经常同时使用两者,它们似乎都记住了,目前为止是这样。

回复 ,作者:Jason Moore (未验证)

你从 Vim 切换到 Emacs 是因为你不会正确使用它吧???

是啊,总是有人这么说。当我从 QWERTY 键盘布局切换到 Colemak 键盘布局来在 Vim 中导航时,情况也没有好转。

回复 ,作者:MP (未验证)

你提到的所有组织工具都可以在 Vim 插件 "vimwiki" 中找到……如果你决定回去的话。?

看来它会涵盖我使用的一些功能。我会怀念的是我的 TODO 状态的颜色化、时钟计时器,而且我不认为它(目前)支持折叠标题?不过看起来是个不错的工具。

回复 ,作者:Brand Gamblin (未验证)

我完全切换到了 Emacs。我使用带有 evil 模式的 Spacemacs,所以我不必真正记住键绑定。

我考虑过那样做,但这需要在更换电脑时进行更多的工作和配置,所以我决定尝试学习“原生”键盘快捷键。

回复 ,作者:Erich (未验证)

我也切换到了 Emacs,虽然我使用 evil 来实现 Vim 键绑定。

事实是,Emacs 是比 Vim 更好的 Vim。它可以完成 Vim 所做的一切,但插件语言更好、更丰富,因此所有插件都更好、更丰富。

EVIL 是两全其美的选择。

我一开始也考虑过那样做,但由于我使用 Colemak 作为我的键盘布局,Emacs 快捷键实际上更适合我。

回复 ,作者:Adam Olsen (未验证)

我试过,但它似乎更笨拙,尤其是键盘绑定。然后我想我没有找到使用时钟计时器的方法……?

回复 ,作者:Brautigam Gergely (未验证)

这就像说你从记事本切换到 GNU/Linux。XD

你试过 Emacs 中的 Evil 模式吗?我一直想测试一下……

哈哈,我很久以前就做了那个切换。我没有尝试过 Evil 模式,因为我使用 Colemak 键盘布局,并且 Emacs 快捷键实际上在那里比 vi 快捷键更好用。但我听说很多人非常喜欢它。

回复 ,作者:jdk (未验证)

你不是叛徒,你只是看到了光明。大多数人选择 Vim 而不是 Emacs 的原因是 Vim 对于初学者来说更容易上手。Emacs 有时是如此违反直觉,以至于有点好笑,例如推荐使用 c+f、c+b、c+p、c+n 而不是光标键,这足以让新手在开始之前就逃之夭夭。内置的 Emacs 教程可以做得更好。

Org 模式功能丰富而强大,你也可以在其中编写和执行代码,但这真的只是触及其功能、模式、可扩展性和个性化功能的皮毛。它拥有足够的功能来充当完整的操作系统替代品,而不仅仅是一个文本编辑器。

我猜你一定试过 calc,内置的 RPN 计算器(带有代数模式)?如果你只尝试过基本的算术和数学函数,不妨深入研究一下 calc。

你试过 Magit 这个 git 瓷器吗?

你使用 Emacs 的时间越长,你就越会意识到它是一个多么强大的程序。

没有,我的 git 操作仍然会跳到终端中进行。不过话说回来,因为我不是程序员,所以我不会经常使用 git。我的 Emacs 更多用于个人笔记和议程。

回复 ,作者:Jay Kay (未验证)

Jimmy,
我是 Emacs 的坚定用户。即使是在与 vi 的发明者偶然相遇之后也是如此。当时我在加州大学伯克利分校的 Cory Hall,一位研究生兴奋地告诉大家:“快来看我刚做了什么!”他打开了他的特殊版本的“ex”编辑器,输入“:v”,它就进入了“vi”sual 模式。
然而,我个人对 vi 最大的问题是无法确定在你直接输入时会发生什么。在 vi 中,你要么处于插入模式,要么处于追加模式。你输入的字符将位于插入点之前或之后。在 Emacs 中,输入始终处于追加模式。这完全是由于换行符的处理方式。在 vi 中,它是特殊的。在 Emacs 中,它只是另一个字符。它只是显示为换行符,但它仍然是一个字符。
我曾经使用 Emacs 做几乎所有事情。从电子邮件到 shell 交互。当使用拨号调制解调器时,这尤其有用!现在 Emacs 仍然是我的主要编辑器。我特别喜欢查询替换功能!非常方便。

感谢你的文章。希望其他人也会做出同样的转变。

真是个有趣的故事!我敢打赌,他当时并不知道他开启了什么。:D

回复 ,作者:Bugeater

不幸的是,我仍然太菜了,用不了它们中的任何一个!……太令人困惑了!……:o(

它们确实令人困惑。无论你从哪个开始,都需要搜索很多命令并准备好速查表。但我认为这是值得付出的努力。坚持下去!

回复 ,作者:Eddie G.O. (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© 2025 open-source.net.cn. All rights reserved.