很多人谈 Vim 色变,认为 Vim 是那种只有技术 Nerd 才用得懂的编辑器。在今年以前,我也是一个坚实的鼠标使用者,包括定位代码、触发构建等等,都用鼠标完成,VSCode 也一直都是我最常用的编辑器。
于是,我买了新电脑,为了在实验室和教室也能够远程回我宿舍的电脑写代码,而不会因为外出而中断思路。而我也开始用 WSL 了,在外面不用远程桌面,而是用 SSH + 组网的方案连回我的宿舍。所以,我需要一个终端上的编辑器。那么答案很明确了,我毫不犹豫选择了:EmacsNeoVim。

嗯,这台就是我的新电脑,大家应该在 SwY 的 PV 里见到过了,总之外出带出去维护服务器什么的都非常方便!
最初的尝试
在刚开始,我非常不习惯纯键盘操作,所以在网上资料和朋友推荐下,我使用了 LazyVim 方案。简单来讲,LazyVim 就是一个超大整合包,包含一大堆插件,工作流也和主流 IDE 有那么一点点像。

不过,我对 NeoVim 的插件、甚至 NeoVim 的编辑本身都不熟悉,当时的我只是把 NeoVim 当作一个可以在控制台的、低流量消耗的代码编辑器来用,实际上我的鼠标操作非常多,而 Vim 本身的工作流,也只会用 i 进入 Insert 模式,然后写完 Esc 以后 :w 而已。
开始入门
朋友听说我这么用,觉得很诧异:没有这么用 NeoVim 的。他带我过了一遍 vimtutor(对,这个可以直接在你的控制台输入):

在这以后,我才开始对 Vim 的移动有最基本的认识(之前甚至是用方向键的!)。于是学习了 vimtutor 以后,我又乘兴通宵玩了 Vim Adventures,总算是有些基础知识了。

真正上手
发现了 Vim 本身其实是一个高度重视快捷键、小键盘区域的工具以后,我开始放弃使用之前买的带数字键盘的超级大键盘,转而使用一个比较喜欢的矮轴小键盘(Kzzi I75 青春版),然后通过练习 KeyBr 强迫自己使用正确的打字指法。
在此同时,也在看一些其他人使用 Vim 或者 NeoVim 的视频,其中有一个叫作 devaslife 的频道吸引了我。我发现它不用那种看起来就占用很大空间的 LazyVim 一样的 Setup。
于是,在 这个 YouTube 视频 的启发下,我决定自己弄了一套属于自己的 NeoVim 配置,经过了不断迭代以后,现在是我的日用 NeoVim 配置,你可以在 Github 上查看我的配置。

当前的状态
现在我暂时还在用 lazy.nvim 管理包。
我每天的工作流从 nvim . 开始,它会打开 Oil file explorer——一个和普通 Buffer 编辑思路相同的文件管理器。同时使用 telescope.nvim 来做像是切换分支、查找文件、搜索内容之类。
我个人不习惯用 LazyGit,也没有装 BufferLine。我管理 Buffer(或者说平常理解的标签页)的方式是:只用 telescope.nvim 搜 Buffer,然后靠手动管理。毕竟,如果使用标签页系统,我平时都会开好多好多个标签页,反而对我来说有心智负担。
分屏的话,现在也用默认的键位(<C-w> v 之类)。我不需要浮窗控制台,所以我绑定了 <leader>en 来快速 :edit term://nu。除此之外也就只是接入 LSP 之类的而已,我的工作流没有什么特别的,不过也会用一些 Mini 系列插件中的小功能,来让开发变得更顺畅而已。