name: config-auditing description: “Neovim配置审计知识库。适用于:审查配置文件问题、检查已弃用的API、优化设置或执行健康检查。提供检查清单、最佳实践和版本特定的已弃用API检测模式。” allowed-tools: Read, Bash, Grep, Glob
Neovim配置审计技能
用于系统性地分析Neovim配置,以识别问题、优化点和已弃用API的使用情况。
支持文档
| 文档 | 用途 | 何时使用 |
|---|---|---|
| audit-checklist.md | 结构化的审计类别与检测模式 | 系统性的配置审查 |
| best-practices.md | lazy.nvim模式、vim.opt用法、键位映射约定 | 优化建议 |
| deprecated-apis.md | 特定版本的已弃用API及grep模式 | 兼容性检查 |
快速验证命令
运行以下无头命令进行快速评估:
# 获取Neovim版本
nvim --version | head -1
# 获取配置路径
nvim --headless -c "lua print(vim.fn.stdpath('config'))" -c "qa" 2>&1
# 统计配置中的Lua文件数量
find ~/.config/nvim -name "*.lua" 2>/dev/null | wc -l
# 统计插件数量(lazy.nvim)
ls ~/.local/share/nvim/lazy 2>/dev/null | wc -l
# 检查已弃用的vim.api.nvim_buf_set_option用法
grep -rn "nvim_buf_set_option\|nvim_win_set_option" ~/.config/nvim --include="*.lua" 2>/dev/null | head -10
# 检查启动时间
nvim --startuptime /tmp/nvim-startup.log +q && tail -5 /tmp/nvim-startup.log
# 验证配置中的Lua语法
nvim --headless -c "lua dofile(vim.fn.stdpath('config')..'/init.lua')" -c "qa" 2>&1
# 检查启动时错误
nvim --headless -c "qa" 2>&1 | head -20
评分标准
根据问题严重性和数量分配等级:
| 等级 | 标准 | 描述 |
|---|---|---|
| A | 0个严重问题,0-2个警告 | 优秀 - 可用于生产环境 |
| B | 0个严重问题,3-5个警告 | 良好 - 有较小的改进空间 |
| C | 0个严重问题,6+个警告 或 1个严重问题 | 可接受 - 需要注意 |
| D | 2-3个严重问题 | 较差 - 存在显著问题 |
| F | 4+个严重问题 | 不合格 - 需要立即修复 |
问题严重性定义
严重问题:安全风险、在当前版本中已移除的破坏性已弃用API、运行时错误 警告:性能问题、仍可工作的已弃用API、代码风格违规 建议:可选改进、现代替代方案、组织技巧
审计工作流程
-
收集环境信息
- Neovim版本(确定哪些已弃用API适用)
- 插件管理器类型(lazy.nvim、packer.nvim等)
- 配置结构(单文件 vs 模块化)
-
运行类别审计
- 按顺序遵循 audit-checklist.md 中的类别
- 使用grep模式以编程方式检测问题
- 记录每个发现的严重性
-
检查版本兼容性
- 参考 deprecated-apis.md 以匹配用户的Neovim版本
- 标记在其版本中已弃用或已移除的API
-
应用最佳实践
- 与 best-practices.md 进行比较
- 在适用处提出优化建议
-
计算等级
- 统计严重问题/警告/建议的数量
- 应用上述评分标准
- 提供整体健康度评估
输出模板
<audit_report>
## 摘要
- **等级**: [A-F]
- **Neovim版本**: [检测到的版本]
- **配置位置**: [路径]
- **插件数量**: [数量]
## 严重问题
[列出每个严重问题,包含文件:行号及修复方法]
## 警告
[列出每个警告,包含文件:行号及建议]
## 建议
[列出可选改进项]
## 统计
| 指标 | 值 |
|--------|-------|
| Lua文件总数 | X |
| 总行数 | Y |
| 插件数量 | Z |
| 启动时间 | Nms |
| 已弃用API数量 | N |
</audit_report>