我的代码编辑器 Neovim 之旅
引言
各位朋友们,今天想跟你们聊聊我最近这一年多的代码编辑器折腾史。要说从 VS Code 转投 Neovim 这件事,我觉得真的可以写一篇"真香警告"了。当然不是说 VS Code 不好,毕竟它也是陪我写了好几年代码的老伙伴。但自从入了 Neovim 这个坑,我是真的有点回不去了。
初识 Neovim:一个美丽的误会
说起来,我第一次知道 Neovim 还是在某个技术群里。当时有人发了张截图,满屏的代码和状态栏,看得我是一头雾水——这界面也太"原始"了吧?命令行里也能写代码?当时我心里想的都是:这都 2023 年了,谁还用这玩意儿啊?
结果你猜怎么着?没过多久,我自己就成了那个"谁"。
事情是这样的,有次重构一个后端项目,用 VS Code 打开一个文件夹,结果电脑卡得不行。那项目说大不大,说小也不小,Node_modules 密密麻麻,VS Code 疯狂 indexing,我等它等得花儿都谢了。那时候刚好看到一篇帖子讲 Neovim 启动速度有多快,于是抱着"死马当活马医"的心态装了一个。
好家伙,这一装,就彻底回不去了。
配置的乐趣:痛并快乐着
说实话,Neovim 最劝退新人的地方,绝对是它的配置。你说 VS Code 装个插件,点两下鼠标就完事儿了。Neovim 呢?你得写 Lua,得改 init.lua,得研究各个插件的配置。
一开始我是真的痛苦。网上找的各种配置方案复制粘贴,结果不是报错就是功能不对。经常是改一行配置,然后 Neovim 就打不开了——对,你没看错,改配置文件改到编辑器打不开,这事儿我遇到了不止一次。
但是!当你熬过最开始那段磨合期之后,你会发现自己打开了一个新世界。为啥?因为你的编辑器完完全全是你自己的形状。你可以决定哪些功能要,哪些不要,快捷键怎么设置,状态栏显示什么,一切都在你的掌控之中。
这是我的基础配置,看起来挺简洁的:
-- init.lua 部分配置
require("plugins")
require("keymaps")
require("options")
-- 选项设置
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.opt.termguicolors = true
这种掌控感,是用其他编辑器很难体会到的。
插件生态:相见恨晚
说到插件,Neovim 的插件生态真是让我大开眼界。你能想到的功能,几乎都有人帮你实现了。
我常用的几个插件必须得提一下:
- Telescope :模糊搜索文件、代码、命令,比 VS Code 的搜索好用太多
- LSP :语言服务器协议支持,代码补全、跳转、诊断一条龙
- Tree-sitter :语法高亮,那叫一个丝滑
- nvim-cmp :补全引擎,配合 LSP 使用效果拔群
还有像 Fzf、Harpoon、Glow 等等,用过的都说好。
而且现在 Neovim 对 LSP 的支持已经非常成熟了。不像以前还得装各种语言的插件,现在只要装个 mason.nvim,一行命令就能自动下载和配置各种语言的 LSP 服务器。Python、TypeScript、Rust、C++,统统一键搞定。
效率提升:键盘就是我的魔法杖
用 Neovim 最大的改变,是我的鼠标使用频率直线下降。
以前用 VS Code 的时候,虽然也尽量用快捷键,但总归还是会时不时的摸一下鼠标。切换文件、调整布局、打开终端,鼠标点一点多方便啊。
现在?不好意思,我的手基本不离键盘。
: Telescope find_files 搜文件,Ctrl+o / Ctrl+i 跳转,ff 格式化代码,gg 启动lazygit……一套组合拳下来,效率比之前高了不少。
当然,学习成本是有的。光是熟悉各种快捷键,我就花了好几个星期。但一旦熟练之后,那种"指尖飞舞"的感觉真的太爽了。有朋友来我工位看我敲代码,都说像看黑客帝国。
日常使用:它已经成为我的第二个大脑
现在 Neovim 已经深度融入我的日常工作流了。
每天早上到公司,打开终端,输入 nvim,看着那熟悉的界面,心里就有一种踏实感。写代码的时候, LSP 实时提示代码问题,Tree-sitter 高亮语法, Telescope 帮我快速定位文件和字符串,空格键 + 各种命令搞定一切。
偶尔出去开会,用别人的电脑写代码,没有 Neovim 的日子浑身难受——这可能就是传说中的"由俭入奢易,由奢入俭难"吧。
总结
回顾这一年多的 Neovim 之旅,从最开始的"这什么鬼东西",到后来的"真香",再到现在的"爱不释手",真的是一段很有意思的经历。
它教会我的不只是怎么配置一个编辑器,更是让我理解了"工具"和"效率"的真正含义。一个真正顺手的工具,应该是你感觉不到它存在的——你只需要专注于你要做的事情,工具会自动帮你完成其他的。
当然,我不是说 Neovim 适合所有人。如果你只是想要一个"开箱即用"的编辑器,VS Code 依然是最好的选择。但如果你愿意花时间精力去折腾,去打造一个完全属于你自己的编辑器,我相信 Neovim 不会让你失望。
好了,今天就聊到这里。如果你们也有什么编辑器使用心得,欢迎在评论区交流啊!我们下期再见。
我的代码编辑器 Neovim 之旅
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法