Loading... # Vim 配置全部 376 个选项后的顿悟 # 一、文章概述 ## 1. 标题 我设置了全部 376 个 Vim 选项,但仍然是个傻瓜 ## 2. 发布时间 2026 年 1 月 16 日 ## 3. 来源 Evan Hahn 个人博客 ## 4. 作者背景 Evan Hahn 是一名拥有 13 年 Vim 使用经验的开发者,从 2012 年首次接触 Vim 以来,一直致力于掌握这款编辑器。 # 二、核心内容 ## 1. 事件摘要 ### A. 主要内容 作者 Evan Hahn 分享了他设置 Vim 全部 376 个配置选项的经历,经过数小时的研究和实践,最终完成了近 2900 行的配置文件。然而,即使配置了所有选项,他仍然感觉自己远远没有达到真正的熟练程度。 ### B. 核心发现 - Vim 原本的名字是 Vi IMitation(Vi 模仿器),后来才改为 Vi IMproved(Vi 改进版) - 掌握 Vim 不是关于记住所有选项,而是建立肌肉记忆 - 完美的 Vim 熟练度是一种幻想,总会有更多要学习的东西 ## 2. 关键信息 ### A. 涉及技术 - Vim 文本编辑器 - Neovim(Vim 的现代分支) - Vim 配置文件(.vimrc/init.vim) ### B. 重要数据 - Vim 配置选项总数:376 个 - 作者使用 Vim 时长:约 13-14 年 - 最终配置文件长度:近 2900 行 ## 3. 背景介绍 ### A. 初次接触 2012 年实习期间,作者第一次看到有人使用 Vim。作为自认为快捷键熟练的开发者,他被 Vim 用户的高效操作深深震撼——单个按键就能将光标精确移动到文件中任意位置,代码像橡皮泥一样被重塑。 ### B. 学习困境 尽管经过大量练习,作者仍然会犯错:不小心打开未知菜单、使用低效的导航方式(按 20 次 j 而不是 20j)、甚至因为键绑定混乱而打开其他文本编辑器休息。 # 三、详细分析 ## 1. 学习过程 ### A. 目标设定 作者设定了一个极端目标:设置 Vim 的全部 376 个选项。他想要为每个选项做出明智的决定,并将其添加到 .vimrc 配置文件中。换句话说,他想要 100% 掌握 Vim。 ### B. 执行过程 这个过程花了无数小时。作者: - 阅读了每个选项的文档 - 研究了 Vim 源代码 - 在在线论坛上查找资料 - 甚至在 Vi Stack Exchange 上提问,因为某个选项此前从未被详细记录过 ### C. 最终成果 近 2900 行的配置文件,每个选项都经过深思熟虑的配置。 ## 2. 学到的知识 作者在这次探索中学到了大量关于 Vim 的知识: ### A. 外部命令集成 - 可以将 Vim 缓冲区中的文本发送到外部命令处理 - 也可以将外部命令的输出读入缓冲区 - 例如:编写程序移除"智能引号",直接在编辑器中调用 ### B. 文件保存机制 - 默认情况下,Vim 在覆盖文件前会创建备份 - 备份文件的处理有复杂的逻辑 - 备份位置有多个选项可配置 ### C. 命令行窗口 - 经常误按 q: 打开的窗口原来是命令行窗口 - 这是一个强大的功能:可以搜索和编辑之前的命令和搜索历史 - 如果运行长命令时出错,可以在命令行窗口中用常规 Vim 键绑定修复 ### D. 条件设置选项 - 不仅知道常规的 if 条件判断(如 if has('nvim')) - 还学会了只在选项支持时才设置它的方法:if exists('+option') ### E. Neovim 的改进 - 粘贴更平滑 - Q 键重复最后一次录制的宏 - 运行任意代码更安全 - 更好的默认配色方案 ### F. Vim 历史冷知识 - 今天 Vim 代表"Vi IMproved" - 但最初它叫"Vi IMitation"(Vi 模仿器) ## 3. 认识的转变 ### A. 最初的期望 作者认为设置所有选项会让他成为想要的流利专家。 ### B. 现实的打击 即使设置了所有选项,作者仍然会: - 不小心打开命令行窗口 - 搞砸过滤命令 - 在跳转列表中迷失 - 按 10 次 k 而不是 10k ### C. 最终的领悟 作者意识到真正的 Vim 熟练度——每次击键都精确、从不犯错、利用每个晦涩的功能——对他来说是一种幻想。在这个颠三倒四的生活中,有一个令人欣慰的常数:他总是有更多关于 Vim 要学习的东西。 # 四、深度思考 ## 1. 工具学习的本质 ### A. 配置 vs 熟练 这篇文章揭示了一个深刻的学习悖论:了解所有配置选项并不等于真正掌握一个工具。真正的熟练来自于: - 肌肉记忆的形成 - 直觉性的操作 - 长期使用的经验积累 ### B. 完美的幻觉 作者意识到"完美的熟练度"是一种幻想。这反映了一个重要的学习哲学: - 追求完美可能让人陷入配置泥潭 - 真正的价值在于日常使用中的渐进改进 - 永远有更多要学的东西,这正是学习的魅力 ## 2. Vim 的学习曲线 根据我的搜索,Vim 的学习曲线确实是出了名的陡峭: ### A. 学习阶段的共识 社区普遍认为掌握 Vim 需要: - 记住约 50 个主要命令 - 理解模态编辑的范式 - 花费数天到数周建立基础肌肉记忆 ### B. 学习曲线的悖论 有文章指出 Vim 存在一个"悖论":使用 2 个月后仍然感觉低效,但却让人上瘾。这说明 Vim 的价值在于长期投资而非短期回报。 ### C. 2025 年的 Vim 为什么开发者在 2025 年仍然使用 Vim?搜索结果显示: - 一旦掌握,操作速度接近思维速度 - 跨平台一致性 - 高度可定制的生态系统 - 远程服务器工作的标准工具 ## 3. 配置管理的启示 ### A. 过度配置的陷阱 作者的经历表明: - 配置所有选项不一定提高效率 - 可能反而增加认知负担 - 最佳实践是按需配置,而非追求全面 ### B. 社区建议 Vim 社区的一些最佳实践: - 从最小配置开始 - 根据实际痛点逐步添加配置 - 模块化配置文件,提高可维护性 - 参考:rstacruz/vim-from-scratch 等优质配置指南 # 五、各方反应 ## 1. 社区讨论 这篇文章在技术社区引发了广泛讨论: - Reddit r/vim 版块 - Hacker News - Lobste.rs ## 2. 共鸣与反思 许多开发者表达了类似的感受: - Vim 是一个"永远学不完"的工具 - 即使多年使用,仍然会发现新功能 - 这种"学无止境"的特性正是 Vim 的魅力所在 # 六、经验总结 ## 1. 做得好的地方 - 作者通过极端方式深入了解了 Vim 的每一个选项 - 将知识整理成详细注释的配置文件,供他人参考 - 诚实地分享了学习的局限性和挫折感 ## 2. 给学习者的启示 ### A. 不要追求完美配置 - 配置文件不是越复杂越好 - 专注于解决实际问题 ### B. 接受学习曲线 - Vim 的学习需要时间 - 即使多年使用,仍然会有不熟练的时刻 - 这是正常现象,不是失败 ### C. 享受学习过程 - 永远有新东西可学,这正是乐趣所在 - 不用等到"完全掌握"才开始高效使用 ## 3. Vim 学习建议 基于文章内容和社区共识: - 从基础命令开始,逐步建立肌肉记忆 - 遇到实际痛点时再深入研究相关配置 - 加入社区,学习他人的最佳实践 - 接受"持续学习"的状态,而非追求"终极掌握" # 七、技术延伸 ## 1. Neovim vs Vim 作者的探索揭示了 Neovim 的多项改进: - 更现代的架构 - 更好的默认配置 - Lua 配置支持(比 Vimscript 更强大) ## 2. 配置文件管理 现代 Vim/Neovim 配置的趋势: - 模块化:将配置拆分为多个文件 - 条件加载:根据环境或功能需求加载配置 - 版本控制:使用 Git 管理配置文件 ## 3. 学习资源 - Vim 官方文档::help 命令 - 社区配置指南:vim-from-scratch 等 - 在线教程和视频课程 - 实战项目:在实际工作中使用 Vim *** ## 参考资料 1. [I set all 376 Vim options and I'm still a fool](https://evanhahn.com/i-set-all-376-vim-options-and-im-still-a-fool/) - 原文 2. [Why do developers still use Vim in 2025?](https://www.reddit.com/r/AskProgramming/comments/1mkwgid/why_do_developers_still_use_vim_in_2025/) - Reddit 讨论 3. [The Learning Curve of Neovim](https://typecraft.dev/newsletters/2025-01-08/learning-curve-of-neovim) - Neovim 学习曲线分析 4. [vim-from-scratch Guide](https://github.com/rstacruz/vim-from-scratch) - Vim 配置指南 5. [Don't use Vim for the wrong reasons](https://gist.github.com/romainl/6b952db7a6138b48657ba0fbb9d65370) - Vim 使用建议 最后修改:2026 年 01 月 21 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏