docs: 将 README 拆分为 MAPS.md 和 DEVELOPMENT.md

This commit is contained in:
xfy 2026-05-29 11:24:29 +08:00
parent dc867a372a
commit 91adf5e44c
3 changed files with 164 additions and 145 deletions

56
DEVELOPMENT.md Normal file
View File

@ -0,0 +1,56 @@
# 开发 / 验证
## 文件结构
```
init.lua -- 入口:禁用内置插件,加载核心模块
lua/options.lua -- 全局选项
lua/keymaps.lua -- 键位映射
lua/autocmds.lua -- 自动命令
lua/usercmds.lua -- :PackAdd / :PackDel / :PackUpdate
lua/pack.lua -- 插件声明 + 懒加载绑定
lua/lazy.lua -- 自定义懒加载原语load / on_event / on_keys
lua/plugins/
lsp.lua -- LSP + conform 格式化
treesitter.lua -- 语法树:延迟安装 parser、按 buffer 启用高亮
pick.lua -- mini.pick 封装buffer picker、filetype picker
git.lua -- Git 工具hunk 预览、blame、文件历史
colors/
ex-catppuccin-mocha.lua -- 默认配色ex-colors 生成的优化版)
catppuccin-*.lua -- 原始 Catppuccin 配色方案
nvim-pack-lock.json -- 插件锁定文件
MAPS.md -- 键位映射速查表
DEVELOPMENT.md -- 开发调试命令与常用指令
```
## 语法检查
```bash
# 检查 init.lua 语法
nvim --headless -c 'lua dofile("init.lua")' -c 'qa!'
# 检查特定模块
nvim --headless -c 'lua require("pack")' -c 'qa!'
```
## 健康检查
```bash
nvim --headless -c 'checkhealth' -c 'qa!'
```
## 性能测量
```bash
# 测量启动时间
nvim --startuptime /tmp/startup.log +q
```
## 常用命令
```vim
:PackAdd user/repo " 添加插件
:PackDel plugin-name " 删除插件
:PackUpdate [name] " 更新全部或指定插件
:ExColors! " 提取当前 colorscheme 为优化版 ex-colors
```

96
MAPS.md Normal file
View File

@ -0,0 +1,96 @@
# 键位映射
> Leader = 空格
## 文件查找mini.pick
| 键位 | 动作 |
|----------------|-----------------------------------|
| `<leader>ff` | 查找文件 |
| `<leader>fw` | 实时 grep项目中搜索文本 |
| `<leader>fa` | 查找所有文件(含隐藏和忽略) |
| `<leader>fh` | 搜索帮助标签 |
| `<leader>fo` | 最近打开的文件 |
| `<leader>fz` | 当前缓冲区行内搜索 |
| `<leader>sk` | 搜索键位映射 |
| `<leader><leader>` | Buffer 列表(支持 `<C-d>` 删除) |
| `<leader>ft` | 切换文件类型 |
## 文件浏览器mini.files
| 键位 | 动作 |
|------|---------------------------------------|
| `-` | 在当前文件所在目录打开文件浏览器 |
| `_` | 在项目根目录git root打开文件浏览器 |
## Git
| 键位 | 动作 |
|----------------|--------------------------|
| `<leader>gg` | Fugitive全屏新标签页 |
| `<leader>gd` | Git diff 垂直分割 |
| `<leader>ghp` | 预览当前 hunk |
| `<leader>ghb` | Blame 当前行 |
| `<leader>gB` | Blame 整个文件 |
| `<leader>gD` | 查看文件 Git 历史 |
| `<leader>sr` | 搜索并替换grug-far |
## LSP 与诊断
| 键位 | 动作 |
|--------------|------------------------|
| `gd` | 跳转到定义 |
| `gh` | 悬停查看文档 |
| `<leader>ca` | 代码操作 |
| `<leader>cr` | 重命名符号 |
| `<leader>fm` | 格式化当前 Buffer |
| `df` | 显示行诊断浮动窗口 |
| `<leader>ds` | 诊断位置列表 |
| `]d` / `[d` | 下一个 / 上一个诊断 |
| `]e` / `[e` | 下一个 / 上一个错误 |
| `]w` / `[w` | 下一个 / 上一个警告 |
## Buffer 管理
| 键位 | 动作 |
|--------------|--------------------|
| `<leader>x` | 关闭当前 Buffer |
| `<leader>bn` | 新建 Buffer |
| `<leader>bo` | 关闭其他 Buffer |
## 编辑与搜索
| 键位 | 动作 |
|--------------|----------------------------|
| `<leader>ss` | 全局替换光标下的单词 |
| `<leader>ud` | 打开内置撤销树 |
| `<leader>uf` | 切换全局自动格式化 |
| `<leader>uF` | 切换当前 Buffer 自动格式化 |
| `<Esc>` | 清除搜索高亮 |
| `J` | 合并行且不移动光标 |
## 窗口与标签
| 键位 | 动作 |
|--------------|--------------------|
| `<C-h/j/k/l>` | 窗口间快速跳转 |
| `<leader>tc` | 关闭当前标签页 |
| `<leader>tn` | 新建标签页 |
| `<leader>]` | 下一个标签页 |
| `<leader>[` | 上一个标签页 |
## 终端
| 键位 | 动作 |
|--------------|----------------------------|
| `<leader>tt` | 打开新终端 |
| `<C-x>` | 从终端模式返回普通模式 |
## 文件操作
| 键位 | 动作 |
|--------------|----------------------------|
| `<C-s>` | 保存文件 |
| `<C-c>` | 复制整个文件内容到剪贴板 |
| `<leader>yp` | 复制相对文件路径 |
| `<leader>yP` | 复制绝对文件路径 |

157
README.md
View File

@ -14,152 +14,19 @@
## 懒加载策略
| 触发条件 | 插件 |
|---------------|--------------------------------------|
| `VimEnter` | treesitter、lsp、icons |
| `InsertEnter` | completion、snippets |
| `BufReadPost` | diff、surround |
| `BufWritePre` | conform |
| 按键触发 | pick、files、fugitive、grugfar |
| 命令触发 | ex-colors (`:ExColors`) |
| 触发条件 | 插件 |
| ------------- | ------------------------------ |
| `VimEnter` | treesitter、lsp、icons |
| `InsertEnter` | completion、snippets |
| `BufReadPost` | diff、surround |
| `BufWritePre` | conform |
| 按键触发 | pick、files、fugitive、grugfar |
| 命令触发 | ex-colors (`:ExColors`) |
## 键位映射Leader = 空格)
## 键位映射
### 文件查找mini.pick
完整键位映射见 [MAPS.md](./MAPS.md)。
| 键位 | 动作 |
|----------------|-----------------------------------|
| `<leader>ff` | 查找文件 |
| `<leader>fw` | 实时 grep项目中搜索文本 |
| `<leader>fa` | 查找所有文件(含隐藏和忽略) |
| `<leader>fh` | 搜索帮助标签 |
| `<leader>fo` | 最近打开的文件 |
| `<leader>fz` | 当前缓冲区行内搜索 |
| `<leader>sk` | 搜索键位映射 |
| `<leader><leader>` | Buffer 列表(支持 `<C-d>` 删除) |
| `<leader>ft` | 切换文件类型 |
## 开发与调试
### 文件浏览器mini.files
| 键位 | 动作 |
|------|---------------------------------------|
| `-` | 在当前文件所在目录打开文件浏览器 |
| `_` | 在项目根目录git root打开文件浏览器 |
### Git
| 键位 | 动作 |
|----------------|--------------------------|
| `<leader>gg` | Fugitive全屏新标签页 |
| `<leader>gd` | Git diff 垂直分割 |
| `<leader>ghp` | 预览当前 hunk |
| `<leader>ghb` | Blame 当前行 |
| `<leader>gB` | Blame 整个文件 |
| `<leader>gD` | 查看文件 Git 历史 |
| `<leader>sr` | 搜索并替换grug-far |
### LSP 与诊断
| 键位 | 动作 |
|--------------|------------------------|
| `gd` | 跳转到定义 |
| `gh` | 悬停查看文档 |
| `<leader>ca` | 代码操作 |
| `<leader>cr` | 重命名符号 |
| `<leader>fm` | 格式化当前 Buffer |
| `df` | 显示行诊断浮动窗口 |
| `<leader>ds` | 诊断位置列表 |
| `]d` / `[d` | 下一个 / 上一个诊断 |
| `]e` / `[e` | 下一个 / 上一个错误 |
| `]w` / `[w` | 下一个 / 上一个警告 |
### Buffer 管理
| 键位 | 动作 |
|--------------|--------------------|
| `<leader>x` | 关闭当前 Buffer |
| `<leader>bn` | 新建 Buffer |
| `<leader>bo` | 关闭其他 Buffer |
### 编辑与搜索
| 键位 | 动作 |
|--------------|----------------------------|
| `<leader>ss` | 全局替换光标下的单词 |
| `<leader>ud` | 打开内置撤销树 |
| `<leader>uf` | 切换全局自动格式化 |
| `<leader>uF` | 切换当前 Buffer 自动格式化 |
| `<Esc>` | 清除搜索高亮 |
| `J` | 合并行且不移动光标 |
### 窗口与标签
| 键位 | 动作 |
|--------------|--------------------|
| `<C-h/j/k/l>` | 窗口间快速跳转 |
| `<leader>tc` | 关闭当前标签页 |
| `<leader>tn` | 新建标签页 |
| `<leader>]` | 下一个标签页 |
| `<leader>[` | 上一个标签页 |
### 终端
| 键位 | 动作 |
|--------------|----------------------------|
| `<leader>tt` | 打开新终端 |
| `<C-x>` | 从终端模式返回普通模式 |
### 文件操作
| 键位 | 动作 |
|--------------|----------------------------|
| `<C-s>` | 保存文件 |
| `<C-c>` | 复制整个文件内容到剪贴板 |
| `<leader>yp` | 复制相对文件路径 |
| `<leader>yP` | 复制绝对文件路径 |
## 命令
```vim
:PackAdd user/repo " 添加插件
:PackDel plugin-name " 删除插件
:PackUpdate [name] " 更新全部或指定插件
:ExColors! " 提取当前 colorscheme 为优化版 ex-colors
```
## 文件结构
```
init.lua -- 入口:禁用内置插件,加载核心模块
lua/options.lua -- 全局选项
lua/keymaps.lua -- 键位映射
lua/autocmds.lua -- 自动命令
lua/usercmds.lua -- :PackAdd / :PackDel / :PackUpdate
lua/pack.lua -- 插件声明 + 懒加载绑定
lua/lazy.lua -- 自定义懒加载原语load / on_event / on_keys
lua/plugins/
lsp.lua -- LSP + conform 格式化
treesitter.lua -- 语法树:延迟安装 parser、按 buffer 启用高亮
pick.lua -- mini.pick 封装buffer picker、filetype picker
git.lua -- Git 工具hunk 预览、blame、文件历史
nvim-pack-lock.json -- 插件锁定文件
colors/
ex-catppuccin-mocha.lua -- 默认配色ex-colors 生成的优化版)
catppuccin-*.lua -- 原始 Catppuccin 配色方案
```
## 开发 / 验证
```bash
# 检查 init.lua 语法
nvim --headless -c 'lua dofile("init.lua")' -c 'qa!'
# 检查特定模块
nvim --headless -c 'lua require("pack")' -c 'qa!'
# 健康检查
nvim --headless -c 'checkhealth' -c 'qa!'
# 测量启动时间
nvim --startuptime /tmp/startup.log +q
```
开发相关的命令、健康检查、性能测量等见 [DEVELOPMENT.md](./DEVELOPMENT.md)。