为什么我从 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 与 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 (未验证)

这就像说你从 Notepad 切换到 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 瓷器吗?

您使用 emacs 的次数越多,您就越会意识到它是一个多么庞大的程序。

不,我仍然会弹出到终端来处理我的 git 内容。 话又说回来,因为我不是程序员,所以我不经常使用 git。 我的 emacs 更多地用于个人笔记和日程安排。

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

吉米,
我是一个坚定的 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.