gitgutter插件无反应主因是仓库未识别或插件未激活;它仅在已保存文件所属git工作树根目录下生效,且默认不标记修改行,需配置live_mode和show_gitgutter_in_modified_tabs启用。

GitGutter插件没反应,修改文件后没有标记?
多数情况是 Git 仓库未正确识别或插件未激活。GitGutter 不会自动扫描整个磁盘找 .git 目录,它只在当前打开的文件所属的 Git 工作树根目录下生效。
- 确认文件已保存(
GitGutter默认不监控未保存的缓冲区) - 用终端进入该文件所在目录,执行
git rev-parse --git-dir,若报错说明此处不是 Git 工作树,需在父级或子级找对的目录 - Sublime Text 中通过
Project → Add Folder to Project...添加的是 Git 仓库根目录(含 .git 文件夹的那层),而非其子文件夹 - 检查状态栏右下角是否显示
git—— 如果显示plain text或空白,说明 Sublime 没识别出文件类型或 Git 上下文
为什么新增/删除的行有标记,但修改的行没变色?
GitGutter 默认只显示「增删」(+/-),不高亮「修改」(即行内容变化但行数不变)。这是设计行为,不是 bug。要启用修改行标记,必须手动开启 show_gitgutter_in_modified_tabs 并配合 live_mode。
- 打开
Preferences → Package Settings → GitGutter → Settings - 在用户设置中添加:
{ "live_mode": true, "show_gitgutter_in_modified_tabs": true } -
live_mode: true会让插件监听文件变更(轻微性能开销),否则只在保存后刷新标记 - 即使开启,修改行也不会像新增行那样显示绿色竖条;它仅在行号旁加一个橙色小点(
changed标记),样式由主题控制,部分 UI 主题可能弱化该颜色
Windows 上路径含空格或中文导致 GitGutter 报错“git not found”?
不是 Git 命令本身缺失,而是 GitGutter 启动时调用 git 的方式在 Windows 下对路径转义失败,尤其当 Sublime 安装在 C:Program Files 或用户目录含中文时。
- 打开
Preferences → Package Settings → GitGutter → Settings - 显式指定 git 可执行文件路径,例如:
"git_binary": "C:\Program Files\Git\cmd\git.exe"
(注意双反斜杠) - 避免使用
%USERPROFILE%或环境变量,GitGutter 不解析它们 - 如果用 Scoop 或 Chocolatey 安装的 git,路径可能是
C:\Users\xxx\scoop\shims\git.exe,务必用完整绝对路径 - 改完设置后重启 Sublime,或右键标签页选
GitGutter: Reset(如有)
多个 Git 分支切换后标记不更新?
GitGutter 缓存了 HEAD 提交 ID 和索引状态,不会主动监听 git checkout 或 git switch。它只响应文件系统变更,分支切换本身不触发重绘。
- 手动触发刷新:右键编辑器空白处 →
GitGutter: Refresh,或快捷键ctrl+alt+g r(Windows/Linux)/cmd+alt+g r(macOS) - 更可靠的做法是开启
live_mode(见上一节),它会在每次文件保存时重新比对暂存区,间接覆盖分支切换后的状态差异 - 注意:GitGutter 比较的是工作目录 vs 暂存区(index),不是 vs 远程分支或其它本地分支 —— 所以切换分支后,只要没
git add,标记反映的仍是原分支的暂存状态











