Neovim的SignColumn显示未知标记">>",为何仅普通文件出现该问题?
问题原因与解决思路
你看到的>>标记和GitGutter无关,大概率是以下两种情况之一:
内置
list选项的succes字符:
你的配置里可能开启了set list(用于显示不可见字符),同时设置了listchars=succes:>>。succes标记用于标识当前行是上一行缩进的延续(比如软换行后的行),或是超出窗口显示范围的缩进内容。Git仓库内的文件可能因为配置中的自动规则(比如vimrc里的条件判断、插件的自动设置)关闭了list选项,或是修改了listchars配置,因此不会显示该标记。缩进可视化插件的标记:
如果你的配置中安装了indentLine、vim-indent-guides这类缩进可视化插件,部分插件会用>>标记表示缩进层级的延续。这类插件可能被配置为仅在非Git仓库文件中激活,或是Git仓库下的文件触发了插件的禁用规则。
验证与修复步骤
验证
list选项是否是诱因:
在出现>>标记的文件中执行命令:set nolist,如果标记消失,即可确认原因。你可以通过两种方式修复:- 修改
listchars配置,移除succes:>>部分; - 配置自动规则,让Git仓库内的文件自动关闭
list:autocmd BufEnter * if get(b:, 'git_dir', '') != '' | set nolist | endif
- 修改
验证缩进插件是否是诱因:
临时注释掉vimrc中缩进类插件的加载语句,重启Neovim后查看标记是否消失。若确认是插件问题,可调整插件的激活条件,使其在Git仓库文件中保持一致行为。
内容的提问来源于stack exchange,提问作者ebann
相关产品推荐
相关产品推荐

