都 2022 年了,为什么我还在用 Vim
TL;DR 太长不看
- Vim 是强大高效灵活优雅的文本编辑器;
- 使用 Vim 是复利投资,也是有趣的探索;
- 所有常见操作系统都有 Vim,你的电脑里可能已经预装了它;
- Vim 有无数强大插件可以提升你的编辑效率;
- 要开始使用 Vim,掌握几个基本功能就够了;
- 唯一需要的,是不断尝试、总结、改进的练习心态;
Vim 的最小必要知识
- Vim 用户的最高理想,是以思考的速度编辑文本。也许没有人能真正实现这一理想,但是有些人的确很接近。
- Vim 是世界上寿命最长的软件之一,至今已有 30 年历史,而且还在持续改进中。它的灵感之源是 Bill Joy 在上世纪七十年代所写的 vi,而 vi 的前身是伴随着 Unix 诞生的 ed。Vim,就是“Vi IMproved”。
- 使用 Vim 时无需鼠标。Vim 支持鼠标,但是 Vim 用户嫌弃鼠标拖慢了他们的速度。
- Vim 有庞大的用户社区,是编辑器大战的阵营之一。另一方是 Emacs,第三方是其他所有编辑器:“编辑器之神”和“神之编辑器”,以及其它。
- Vim 和其他常见文本编辑器的根本区别是“模式”。Vim 可以在几种模式中切换,但同一时间只能处于一种模式。大部分时候,Vim 处于“普通”(Normal) 模式。在这种模式下,按下键盘上的某个键将会触发一个命令,而不是把对应的字符显示在屏幕上。这是最困扰 Vim 初级使用者的。
- Vim 有一个深刻洞察(从 vi 继承来的):无论我们写程序、写小说,或者只是写个简单的说明书,花在修改上的时间总比花在写作上的时间多;而修改时花费时间最多的,是移动光标、选择或删除需要修改的对象。
- Vim 有一个优雅设计(也是从 vi 继承来的):文本结构化。一篇文章包括一个或多个段,每段包括一个或多个句子,一个句子包括一个或多个词,这些都是可以单独编辑的文本对象。程序代码也是如此,一对引号、一对括号、一对中括号、一对大括号、HTML 中的一对标签,也都是文本对象。想要删除一整块代码?只需要敲三个键。
- Vim 编辑英文文章或程序代码非常流畅,但中文文章时会差一些。这是因为 Vim 不支持中文分词。不过我们可以稍微迂回地解决这个问题。
- 很难完全掌握 Vim。它的中文帮助手册和用户参考手册一共有 4000 页。stackoverflow.com 上“如何退出 Vim 编辑器?”的浏览次数超过了 250 万次。不过我们只需要启动 Vim,尝试几个简单命令,就已经在使用 Vim 了。
- Vim 并不需要学习;它需要使用。最好每天都用。
一点背景信息
我的工作主要是和文本打交道:写文章,翻译,写一点程序。2008 年开始比较频繁地使用 Ubuntu,2010 年左右开始以 Ubuntu 为主,偶尔才用 Windows。
人生玩家