# Summary
克服其反直觉的操作方式需要的不只是耐心,更是一种主动探求系统原理、驯服工具而非被工具驯服的工程师本能。这种通过投资学习时间来换取长期效率提升的决策,本身就体现了一种高度的职业素养和前瞻性。
说了那么多,那是不是证明自己的技术潜力就非要学习去用vim不可呢?当然不是,我就没折腾过vim,我对vim的使用也很初级。
其核心逻辑在于,vim的掌握过程仅仅是一种具体表现形式。你可以不去折腾vim,但是你总得折腾点什么东西。这种“折腾”的本质,是对现有工作流的不满足,是一种自发性的技术驱动力。无论是深入钻研某个IDE的强大调试功能、定制自动化脚本工具链、精进容器化部署的每一个细节,还是像有些人那样彻底搞懂Git的内部原理,其内在价值与精通vim是完全相通的。
它代表了你愿意(并且能够)越过“够用”的门槛,去追求一种更深层次的掌控力与理解,这种持续精进的态度本身,才是技术潜力最真实的写照。
我们都需要借助一些工具才能更加了解自己,例如我们需要一个镜子来知道自己的长相,需要一个秤来测量自己的体重。那么我们用什么工具来测试自己作为程序员的潜力呢?vim就是这样一个工具。
程序员所谓的潜力,主要就是自驱力、学习能力、总结能力、耐心,等等,这些素质都可以在vim学习过程中提现出来。
在我看来,如果你愿意学vim、并且学得进去,应该就能超过$90\%$的同龄程序员。
---
标题: 使用vim是技术力的象征吗?
使用vim是技术力的象征吗?不是技术力的象征,是技术潜力的象征。
我认识的用vim用得好的没一个菜的。
这并非因为vim本身有什么神奇魔力,而是因为掌握它的过程恰好映射了一个优秀程序员的成长轨迹。一个新手可能会笨拙地按
```Java
i
```
进入插入模式,然后用方向键一个个移动光标来修改代码,而一个熟练者则会将编辑视为一种“语言”:他们看到
```Java
functionName()
```
这个函数名需要更改,不会移动光标到行首,而是直接键入
```Java
ciw
```
(change inner word),瞬间删除整个词并进入插入模式,输入新名字后敲ESC返回普通模式,整个过程一气呵成,手指从未离开键盘主位。
这种将“更改一个单词”抽象为一个原子操作的能力,与编程中将复杂任务分解为函数和模块的思维如出一辙。它的陡峭学习曲线迫使使用者深入理解文本操作的抽象逻辑,将移动(
```Java
w
```
跳到下一个词头)、操作(
```Java
d
```
删除、
```Java
c
```
更改)与文本对象(
```Java
iw
```
inside word、
```Java
i"
```
inside quotes)组合成强大指令,这种构建“编辑语法”的思维模式,与将复杂问题分解为算法流程的编程思想完全同构。
克服其反直觉的操作方式需要的不只是耐心,更是一种主动探求系统原理、驯服工具而非被工具驯服的工程师本能。这种通过投资学习时间来换取长期效率提升的决策,本身就体现了一种高度的职业素养和前瞻性。
说了那么多,那是不是证明自己的技术潜力就非要学习去用vim不可呢?当然不是,我就没折腾过vim,我对vim的使用也很初级。
其核心逻辑在于,vim的掌握过程仅仅是一种具体表现形式。你可以不去折腾vim,但是你总得折腾点什么东西。这种“折腾”的本质,是对现有工作流的不满足,是一种自发性的技术驱动力。无论是深入钻研某个IDE的强大调试功能、定制自动化脚本工具链、精进容器化部署的每一个细节,还是像有些人那样彻底搞懂Git的内部原理,其内在价值与精通vim是完全相通的。
它代表了你愿意(并且能够)越过“够用”的门槛,去追求一种更深层次的掌控力与理解,这种持续精进的态度本身,才是技术潜力最真实的写照。
我们都需要借助一些工具才能更加了解自己,例如我们需要一个镜子来知道自己的长相,需要一个秤来测量自己的体重。那么我们用什么工具来测试自己作为程序员的潜力呢?vim就是这样一个工具。
[[程序员]]所谓的潜力,主要就是自驱力、学习能力、总结能力、耐心,等等,这些素质都可以在vim学习过程中提现出来。
在我看来,如果你愿意学vim、并且学得进去,应该就能超过$90\%$的同龄程序员。
# Cues
# Notes