nvim/MAPS.md
xfy 2afb5315ce refactor(git): 替换 vim-fugitive 为 neogit 工具栈
移除 vim-fugitive 和 mini.diff,引入三层 Git 工具栈(对齐 nvchad 分支):
- gitsigns.nvim:buffer 级 inline gutter + hunk 操作(BufReadPost 懒加载)
- neogit:仓库级 status 客户端(<leader>gg,依赖 plenary)
- codediff.nvim:文件级 side-by-side diff(<leader>gd/gD)

键位变更:
- ghs/ghr/ghp/ghb/ghB/ghd/ghD + ]h/[h 改由 gitsigns 提供
- <leader>gg → Neogit、<leader>gd/gD → CodeDiff
- 移除 <leader>gl(GcLog,由 neogit 内部 log 视图取代)

三个独立插件统一采用 load_X() → packadd → require().setup() 加载风格
2026-06-16 09:33:14 +08:00

4.1 KiB
Raw Permalink Blame History

键位映射

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 Neogit status新标签页
<leader>gd CodeDiff 工作区 diff
<leader>gD CodeDiff 文件历史
<leader>ghp 预览当前 hunkgitsigns
<leader>ghb Blame 当前行gitsigns
<leader>ghB Blame 整个文件gitsigns
<leader>ghs Stage hunkgitsigns
<leader>ghr Reset hunkgitsigns
<leader>ghS Stage 整个 buffergitsigns
<leader>ghR Reset 整个 buffergitsigns
<leader>ghu 撤销 stage hunkgitsigns
<leader>ghd Diff thisvs index
<leader>ghD Diff this ~vs HEAD
]h / [h 下一个 / 上一个 hunk
]H / [H 最后 / 第一个 hunk
<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 复制绝对文件路径