让写代码像切菜一样顺手:这些Vim插件我天天用

晚上哄完孩子睡觉,终于能坐下来写两行代码。家里安静,键盘声清脆,但光靠原生Vim,敲着敲着就容易卡壳。用了几年Vim,慢慢攒下几个顺手的插件,就像厨房里那几把趁手的刀,用惯了就不想换。

自动补全:你刚打个头,它就知道你要啥

装上 clangd 配合 nvim-cmp,写C++时变量名还没输完,函数参数直接弹出来。有次修家里的智能灯固件,一个结构体嵌了好几层,全靠它提醒,不然得翻好几次头文件。

\ 使用 cmp 配置 snippet 引擎
local cmp = require('cmp')
cmp.setup({
  snippet = {
    expand = function(args)
      luasnip.lsp_expand(args.body)
    end,
  },
  sources = cmp.config.sources({
    { name = 'nvim_lsp' },
    { name = 'luasnip' },
    { name = 'buffer' },
    { name = 'path' },
  })
})

错误一眼看到:别等编译才发现漏了分号

ale 或者 neomake 能实时标出语法错。有回半夜调试路由器脚本,少了个括号,保存时左边栏直接红了,点一下就跳到问题行,省得反复跑 make。

跳转快如切菜:别在文件堆里找半天

家里NAS上项目一多,文件动辄上百个。telescope.nvim 配上 fdripgrep,模糊搜文件名或内容,三秒定位。老婆让我改个旧博客模板,输入“footer css”,结果立马出来,比翻 Finder 还快。

\ 绑定快捷键打开文件搜索
nnoremap <C-p> <cmd>Telescope find_files<cr>

版本控制不用切屏:改两行也能随时看差异

gitsigns.nvim 在行号旁边加个小标记,改过的行一眼看清。提交前用 :Gitsigns stage_hunk 按块暂存,比开终端敲 git add 方便多了。孩子乱按键盘改了配置文件?对比一下就知道哪行动过。

括号自动配对:少操心符号,多专注逻辑

auto-pairs 插上后,打个左括号,右边自动补上。写Python列表推导时特别顺,不用来回挪光标补括号。以前总忘补引号,现在连单双引号都帮你记得。

这些工具用熟了,写点小脚本、修修配置,效率高不少。就像家里工具箱,螺丝刀、钳子各归其位,要用的时候伸手就来,不费神。”}