能用,而且稳定。GitGutter 目前仍在积极维护,支持 Sublime Text 4,依赖系统 git 命令行,需确保 git 可用、项目为有效 Git 仓库、插件设置启用;图标含义:+(绿色新增)、~(橙色修改)、-(红色删除)、…(灰色暂存块)。

GitGutter 插件是否还在维护?能用吗?
能用,而且稳定。GitGutter 目前仍在积极维护(最新版支持 Sublime Text 4),它不是靠 Sublime 自带 Git 集成,而是独立调用系统 git 命令行工具读取工作区状态,所以只要你的终端能运行 git status,它就能工作。
常见误判场景:项目没初始化 git init、.git 目录被删、Sublime 启动时没加载到正确的 shell 环境(尤其 macOS 使用 zsh 但 Sublime 继承了 bash 环境)——这些都会导致右侧栏不显示标记,而非插件本身失效。
安装后没反应?检查这三件事
- 确认已安装
git并在终端中可用:which git
,输出应为类似/usr/bin/git或/opt/homebrew/bin/git - Sublime 必须打开的是 Git 仓库的**子目录或根目录**(即路径下存在
.git文件夹),不能只打开单个文件且该文件不在仓库内 - 检查插件设置是否禁用了显示:打开
Preferences → Package Settings → GitGutter → Settings,确认"enabled": true且"show_in_minimap": true(后者控制迷你地图里的色块)
右侧栏图标含义和颜色对应什么操作?
GitGutter 在编辑器行号右侧显示小图标,不是颜色块(那是 GitSavvy 或原生 Sublime 的功能),每个图标代表该行相对于 HEAD 的变更类型:
-
+(绿色):该行是新增内容(untracked 或 staged 新增) -
~(橙色):该行被修改过(staged 或 unstaged 修改) -
-(红色):该行被删除(staged 或 unstaged 删除) -
…(灰色):该行属于已暂存(staged)但尚未提交的变更块的一部分(仅当启用了"show_untracked": false时可能不显示)
注意:它默认**不显示未跟踪(untracked)文件的变更标记**,如需开启,在设置里加 "show_untracked": true。
为什么有些修改没标出来?常见兼容性限制
GitGutter 依赖 git diff 输出解析,因此有几类修改它天然无法感知:
- 文件权限变更(如
chmod)、符号链接变动、submodule 提交更新 —— 这些不产生行级 diff - 使用了非标准换行符(如纯
\r)或 BOM 头的文件,可能导致git diff解析失败,插件跳过处理 - 大文件(默认 >1MB)会被跳过,可在设置中调整
"max_file_size": 5242880(单位字节) - 如果仓库启用了
core.autocrlf或core.eol,而 Sublime 编辑器内部换行设置不一致,可能出现“已改但无标记”现象
最常被忽略的一点:GitGutter 不监听文件系统事件,它靠定时轮询(默认 1.5 秒)触发刷新。快速连续保存多次,可能有短暂延迟;如需更及时响应,可把 "live_mode": true 和 "live_mode_interval": 500 加入设置,但会略微增加 CPU 占用。










