文本编辑器是一款有趣的软件。不可否认,它们很重要。没有它们,您将无法编写任何代码1 。文本编辑器就像软件工程师,相当于木工的锤子:不是我们使用的唯一工具,但我们在整个职业生涯中肯定会经常使用它。
那么,投入尽可能多的时间尝试尽可能地使用文本编辑器是有道理的,对吧?事情没那么简单。就像你不能成为一个伟大的木工,只是非常擅长使用锤子,你不能仅仅通过非常擅长文本编辑器来成为一名出色的软件工程师。事实上,随着工程师的资历越来越高,他们实际编写代码的时间往往越来越少,这进一步降低了擅长编辑文本的预期回报。
然而,敲钉子和使用文本编辑器之间有一个重要的区别:只要这样做,您就可以更好地敲钉子。一个已经在这个行业工作了几十年的木工几乎不会用锤子敲打他的手指。工程师可以花费整个职业生涯编写代码,但仍然无法使用他选择的文本编辑器,使用浏览器上任何文本框都可以提供的最基本功能,别无其他。
这不是关于生产力,而是关于快乐
我坚信开发人员应该设法使他们的工作工具尽可能快乐。按住退格键直到整行文本被删除并不会带来快乐。
更好地编辑文本,例如拥有 4k 显示器。它不会让您更好或更快地交付软件。您可以在全高清显示器上完美地输入和阅读代码。但是在 4K 显示器上查看文本字符更加有趣。这就像获得下一代视频游戏机一样。当您第一次玩新一代游戏时,它们看起来并没有那么好。但是当你回去重新玩旧游戏时,它们看起来比你记忆中的要糟糕得多。
使用文本编辑器超越基础也有同样的感觉。当您第一次开始使用多个光标一次编辑多行时,感觉很好,但您并没有做大事。直到您习惯了多光标编辑并且由于某种原因您无法使用它时,您才意识到拥有它有多好。
一旦被咬,就没有回头路了。当看到同事在缩放通话中效率低下地编辑文本时,您会开始感到轻微的痛苦。我有时无法克制自己,只是开始对我更亲密的人大喊键盘快捷键。我知道,我是一个可怕的人。
寻找 Vim 的乐趣
如果你已经读到这里,你很可能希望我现在开始谈论 Vim 或 Emacs 的优点。我不会那样做的。除了在我通过 SSH 连接的某个终端上进行一些偶尔的文件编辑之外,我从未将这些用于任何其他用途。在这一点上,我只是一个普通的 VSCode/IntelliJ Joe,他非常欣赏键盘快捷键和多光标支持。
我打算改变它。如果我要通过告诉他们的捷径来让他们在一整天的过程中节省不到 5 分钟的时间来惹恼我的同事,我还不如告诉他们 Vim 有多好来惹恼他们。
我读过很多次关于 Emacs 和 Vim 的好处的文章,并尝试在工作中实际使用它们几次。在我之前的尝试中,我的动力很快就消失了,因为我与所有新的快捷方式和两位编辑的糟糕入职体验作斗争。
然而,这一次,我希望通过公开我的努力来克服这些最初的障碍。从现在开始,本博客中的这篇文章和所有未来的文章都将使用 nvim 编写。
规则
- 真正的 nvim,没有 VSCode 插件:我要去冷火鸡。整篇文章都是用我在 neovim 中的基本 Vim 知识编辑的,仅此而已。
- 没有发行版:我没有使用任何带有任何类型预装插件的 neovim 发行版。只是原始的neovim,任何插件都必须由我添加。
- 困难模式:我将箭头和其他导航键重新映射到
Nop
。如果我要使用 Vim,我会在 HJKL 中正确使用它。 - 仅限博客文章——目前:我不会强迫自己使用 vim 来工作。至少现在不是。
而已。我将在更多帖子中遵守这些规则并写下我的印象。也许如果事情进展顺利,我也会在工作中试一试。
-
至少没有可接受的生产力水平。 ↩︎