gitgutter需同时满足三条件才生效:系统安装git、以项目文件夹方式打开、文件已保存;其gutter图标含义为:+新增、|修改、-删除、!空白变更;查blame需另装gitblame等插件;侧边栏状态需aygit插件支持。

Git 修改状态只能靠插件显示,Sublime Text 原生不支持任何 Git 状态可视化。装完插件后,最常被忽略的其实是环境前提——不是插件没生效,而是 Git 命令根本跑不起来。
为什么行号旁没出现绿色/黄色标记?
这是 GitGutter 最典型的“装了但看不见”问题。它依赖三个硬性条件同时满足:
- 系统已安装 Git 且
git命令可在终端直接执行(检查方式:git --version) - Sublime Text 是以「项目文件夹」方式打开的(即菜单栏显示项目路径,且该路径下存在
.git目录) - 当前编辑的文件已保存(未保存的临时文件不会触发 GitGutter 检查)
缺一不可。尤其容易卡在第二点:用 Sublime 直接双击打开单个 .js 文件,即使它在 Git 仓库里,GitGutter 也完全静默。
GitGutter 标记颜色各代表什么?
它在行号右侧 gutter 区实时绘制小图标,含义固定且不随主题变化:
-
+(蓝色加号):该行是新增内容(git status中的A或未暂存新增) -
|(绿色竖线):该行被修改过(M状态),但尚未暂存 -
-(红色减号):该行已被删除(对应D状态) -
!(黄色感叹号):仅空格或换行符变动(比如缩进从 2 空格改成 4 空格)
注意:! 默认开启,但部分旧版 GitGutter 可能不显示,需确认设置中 "show_whitespace_changes" 为 true。
想看某一行是谁改的、什么时候改的?
GitGutter 只管“有没有改”,不管“谁改的”。要查 blame 信息,得另装插件或用快捷键:
- 装
GitBlame插件:光标停在任意行,状态栏自动显示{author} - {commit_message} ({relative_date}),无需点击 - 装
SublimeGit或Git(domenukk 版):右键 →Git: Blame,左侧弹出完整 blame 面板,含commit hash、作者、时间、原始代码行 - 自定义快捷键:比如设
ctrl+alt+b绑定到git blame -L ${line},+1 --porcelain ${file},直接输出当前行 blame 结果到面板
所有方案都要求文件已保存、项目路径含 .git、且 git 命令可用——这点比插件本身还关键。
侧边栏文件列表里怎么高亮显示修改状态?
GitGutter 只作用于当前打开文件的行号区,不染指侧边栏。要让侧边栏文件名带颜色/图标,得靠 AYGIT:
- 命令面板输入
AYGIT: Show Status,会弹出带颜色编码的文件列表(红色=已修改,绿色=已暂存,灰色=未跟踪) - 它不自动刷新,需手动重执行命令;也不支持双击跳转,只是只读视图
- 若想点击文件名直接打开并定位到变更处,目前没有稳定插件能做到,得切回终端用
git status -s+subl filename
真正容易被忽略的是:AYGIT 的状态刷新依赖 git status --porcelain 输出,如果项目用了 core.filemode false 或子模块,部分状态可能不准。











