我为什么从 Vim 切换到 Emacs

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

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

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

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

我走向 Emacs 的步骤

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

我搞砸了很多次。我不得不手边放着一份 速查表 来检查自己。“撤销”是我最常查阅的命令。随着时间的推移,这些命令和按键操作逐渐变得顺手,随着我不断前进,在我的 Emacs 配置中添加更多功能并习惯了这个环境,结果证明,即使不是我所需要的一切,至少也是我迄今为止找到的最佳解决方案。

时间和任务跟踪

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

通过使用 Emacs 的 agenda,我可以查看我所有安排的会议和截止日期,所以我不太需要切换到公司的日历应用程序。

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

笔记

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

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

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

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

真正的争论是什么?

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

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

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

21 条评论

你真勇敢。哈哈,开玩笑的。虽然我可以理解不同的观点和坚持己见,但我不得不赞同你说的要使用最适合工作的工具。我再同意不过了。我自己也同时使用 Vim 和 Emacs,因为它们都很棒。我总是说,为什么要限制自己只用一个呢。

是的,我的主要挣扎在于记住 Vim 和 Emacs 的键盘快捷键。只需要记住一个会更容易。不过话说回来,因为我仍然经常同时使用它们,所以它们似乎记住了,目前为止是这样。

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

你切换到 Emacs 是因为你没用对 Vim ???

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

回复 ,评论者: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. (未验证)

© . All rights reserved.