Neovim 插件与按键

lua/plugins/ 里加了十来个插件,但大多是顺手装的,真正改了我使用习惯的就三四个,说说这几个,其余一句带过。

im-select 解决的是中文用户的老毛病:从插入模式回 normal,输入法还停在中文,一按 j/k 全成了打字。它在模式切换时自动切输入法,normal 下命令键永远是英文。装上之前我得手动按一下切输入法,装上之后这事就从意识里消失了。

cutlass 把"删除"和"剪切"分开。默认 d/c/x 会覆盖寄存器,经常出现"我明明 yank 了一段,删了点东西再粘贴,粘出来的是刚删的"。cutlass 让删除不动寄存器,粘贴永远是你上次真正 yank 的内容,配合 yanky 管历史。这是 vim 默认行为里我唯一坚持要改的。

roslyn.nvim 给 .NET 上 Roslyn 的 LSP(经 Mason 装那个 LanguageServer),大一点的 C# solution 下补全和跳转明显比 omnisharp 稳。写 C# 的话值得专门换。

claudecode.nvim 把选区或整个 buffer 丢给 Claude 改,在编辑器里就把 AI 那一环走完,不用来回切窗口。

还有两个虽是 LazyVim 自带、但天天在用、值得点名:

flash 把"跳到屏幕上某处"从数行号变成打字。s 后敲目标词的头一两个字母,匹配处浮出跳转标签,再按标签字母直接落过去;S 是 Treesitter 版,按语法结构选中整个表达式/函数体。在长文件里它基本取代了 /搜索 + n 和反复 hjkl

gitsigns 不只是行号旁那条增删色带。]h/[h 在 hunk 间跳,<leader>ghs/ghr 逐块暂存/还原,<leader>ghp 行内预览这块改了什么——不开 lazygit 就能在编辑器里把"这个文件里哪几处要进这次提交"挑干净,配合 delta + lazygit 是两个层次的 git 视图。

剩下这些按用途说说:

  • flutter-tools 把 Flutter 开发塞进编辑器::FlutterRun 起设备、保存触发 hot reload、:FlutterDevices 切模拟器,不用另开终端跑 flutter CLI,日志和 LSP 都在 nvim 里。
  • noice 重做了命令行、消息和通知的 UI——: 命令浮在屏幕中央而不是挤在最底行,搜索、cmdline 补全、LSP 进度都走统一的浮窗,配合 nui/notify 视觉上干净很多。
  • snacks 是 folke 的"大杂烩"工具集(LazyVim 自带),我主要用它的图片预览(在终端里直接渲 png)和几个小组件(dashboard、notifier、bigfile 在打开超大文件时自动关掉重型特性防卡)。
  • smear-cursor 给光标移动加一道拖尾残影,纯视觉糖,不影响功能——但配上前面那套跳转看着挺顺。
  • vim-wakatime 后台统计每个项目/语言的编码时长,数据传到 WakaTime,月底能看自己到底把时间花哪了。

按键我没怎么动 LazyVim 的默认——leader 是空格,按一下让 which-key 弹提示就行。唯一改过肌肉记忆的还是 Ctrl+hjkl:nvim 里切窗口,到边界跨进 Zellij,编辑器和复用器同一套键。其它 gd/gr/K/<leader>ca 那些 LSP 默认键直接用。