nvim cspell

太好了!下面是为你量身定制的 完整 Neovim + C++ 老项目拼写检查方案总结 ,支持 离线安装全代码拼写检查(包括变量名)命令式集成,并兼容 LazyVim 架构。


✅ Neovim 拼写检查解决方案(全面 + 离线可用)


🎯 功能目标

在 Ubuntu + Neovim(LazyVim)中实现:

  • ✅ 检查 注释 / 字符串 / 变量名 / 函数名 拼写错误
  • ✅ 手动运行 :SpellAudit 查看结果
  • 离线可用
  • ✅ 项目级忽略词词典支持(.cspell.json
  • ✅ 兼容老旧 C++ Makefile 项目

🧱 基础工具:使用 cspell

cspell 是一个 CLI 拼写检查工具,跨平台、可离线、支持源码级拼写审查。


🧩 步骤一:离线安装 cspell

在联网机器上执行:

bash 复制代码
npm install -g cspell

然后将安装目录复制到目标机器:

bash 复制代码
# 查询全局安装路径
npm root -g
npm bin -g

将这两个目录(通常是 ~/.npm-global/lib/node_modules~/.npm-global/bin)复制到 Ubuntu 离线目标机相应目录,然后设置:

bash 复制代码
export PATH="$HOME/.npm-global/bin:$PATH"

确认:

bash 复制代码
cspell --version

🧩 步骤二:添加 Neovim 命令 :SpellAudit

创建文件:

bash 复制代码
nvim ~/.config/nvim/lua/plugins/cspell-audit.lua

填入内容:

lua 复制代码
-- 为 LazyVim 添加 SpellAudit 命令
vim.api.nvim_create_user_command("SpellAudit", function()
  local cmd = "cspell '**/*.{c,cpp,h,hpp}' --no-color"
  vim.cmd("tabnew") -- 新标签页
  vim.cmd("term " .. cmd) -- 执行 cspell
end, { desc = "Run cspell on project" })

⚠️ 无需 return,也无需注册插件名,LazyVim 会自动加载。


🧩 步骤三:项目拼写词典 .cspell.json

在项目根目录创建 .cspell.json

json 复制代码
{
  "version": "0.2",
  "language": "en",
  "words": [
    "argc",
    "argv",
    "util",
    "cmd",
    "ptr",
    "ctx",
    "bool",
    "recv",
    "init",
    "uint",
    "todo",
    "stdin",
    "stdout",
    "stderr"
  ],
  "ignorePaths": [
    "build",
    "bin",
    "third_party",
    "**/*.o",
    "**/*.a"
  ],
  "files": ["**/*.{c,cpp,h,hpp}"]
}

✅ 可以根据你项目常用缩写随时添加单词,防止误报。


🧪 使用方法

在项目目录中运行 Neovim,执行命令:

vim 复制代码
:SpellAudit

即可打开新标签页终端,显示拼写错误:

text 复制代码
src/main.cpp:42:10 - Unknown word (recieve)
src/net.h:23:15 - Unknown word (tehCount)

📌 可选增强(按需再做)

功能 实现建议
跳转拼写错误 结合 quickfix / Telescope
自动保存时检查 autocmd BufWritePost *.cpp silent! SpellAudit
结果转诊断显示 可用 vim.diagnostic.set() 转换(可继续要我帮你实现)

✅ 文件结构一览

bash 复制代码
~/.config/nvim/
└── lua/
    └── plugins/
        └── cspell-audit.lua     ← 拼写命令
/project-root/
└── .cspell.json                ← 项目词典

✅ 离线使用说明

只需确保:

  • node + npm 安装过一次(可用 nvm 安装后打包)
  • cspellbinlib 被复制到目标 Ubuntu
  • PATH 中包含 cspell 所在目录

你在完全离线状态下,也能运行 :SpellAudit 扫描拼写错误。


是否还需要我:

  • 帮你把 cspell 的错误转为 Neovim Quickfix?
  • 或集成进 Trouble.nvim / Telescope?

可以继续扩展 💪

相关推荐
胖大和尚3 天前
nvim 缩进4空格
lazyvim·indent
胖大和尚10 天前
LazyVim 加载顺序
lazyvim
palmer_kyle13 天前
lazyvim配置
lazyvim
胖大和尚16 天前
lazyvim恢复gt键
lazyvim