我为什么从 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-PROGRESS, 和 DONE 标签设置我的任务,镜像了我习惯在看板上使用的工作流程和设置。可以轻松地按不同的状态或关键词进行排序或筛选,这使得找到最重要、需要关注的任务变得容易。后来,我为等待他人或因不同原因被搁置的任务添加了 WAITHOLD 选项。Emacs 提供了很好的自定义选项来满足我的独特需求;例如,我很快就设置了颜色编码,以便轻松查看不同的状态。

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

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

笔记

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

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

安装 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 切换过来是因为你没用对方法???

是啊,总是有人这么说。而且当我为了在 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 瓷器吗?

你使用 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.