为什么我从 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 是因为你没有正确使用它吗???

是的,总是那样。 当我从 QWERTY 切换到 Colemak 键盘布局来在 vim 中进行导航时,情况也没有好转。

回复 MP (未验证)

您提到的所有组织工具都可以在 Vim 插件“vimwiki”中使用... 如果您决定返回。 ?

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

回复 Brand Gamblin (未验证)

我完全切换到 emacs。 我使用带有 evil 模式的 spacemacs,所以我真的不必保持按键绑定不变。

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

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

我也切换到了 emacs,虽然我使用 evil 来模拟 vim 的快捷键。

事实上,emacs 比 vim 更好用。它可以做 vim 所做的一切,而且插件语言更好更丰富,所以所有的插件也更好更丰富。

EVIL 是两全其美的选择。

我一开始也考虑过,但因为我使用 Colemak 键盘布局,所以 emacs 的快捷键对我来说实际上更好用。

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

我试过了,但它似乎更笨拙,尤其是键盘绑定。然后我想我没有找到记录使用时间的方法...?

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

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

你试过 Emacs 的 Evil Mode 吗? 我一直想测试一下...

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

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

你不是叛徒,你只是看到了光明。 人们选择 vim 而不是 emacs 的一个主要原因是 vim 对于初学者来说更容易上手。 emacs 有时是如此违反直觉,例如建议使用 c+f、c+b、c+p、c+n 而不是光标键,这足以让新手在开始之前就逃跑。 内置的 emacs 教程本可以做得更好。

org mode 功能丰富且强大,您也可以在其中编写和执行代码,但这实际上只是触及其特性、模式、可扩展性和个性化功能的表面。它具有足够的功能来作为完整的操作系统替代品,而不仅仅是一个文本编辑器。

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

你试过 Magit 这个 git porcelain 吗?

您使用 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. (未验证)

知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议授权。
© . All rights reserved.