Vim 8.2中.vimrc配置set fillchars=foldclose:▸不生效无法修改折叠标识
问题根因
foldclose、foldopen 属于 Vim 9.0 版本才新增的 fillchars 配置项,你当前使用的 Vim 8.2 版本原生不支持这两个参数,因此所有相关配置都会被直接忽略,无法替换默认的 +-- 折叠标记。
你可以执行 :set fillchars? 验证这一点:配置中新增的 foldclose、foldopen 项不会出现在生效配置的返回结果中。
解决方法
方案1:升级Vim到9.0及以上版本(推荐)
升级完成后修正配置中的语法问题(注意转义空格,移除多余分隔空格)即可正常生效,参考配置如下:
set foldmethod=indent " 折叠行填充为空格,闭合折叠标记为▸,展开折叠标记为▾ set fillchars=fold:\ ,foldclose:▸,foldopen:▾
方案2:Vim 8.2版本兼容适配
8.2版本下可通过自定义折叠文本函数 foldtext 实现自定义折叠样式,参考配置如下:
function! CustomFoldText() let line_content = getline(v:foldstart) let folded_line_count = v:foldend - v:foldstart + 1 " 按需调整拼接规则,可自定义符号、显示内容 return '▸ ' . line_content . ' [' . folded_line_count . ' 行已折叠]' endfunction set foldtext=CustomFoldText() " 可配合调整折叠列宽度,0为隐藏折叠列 set foldcolumn=0
该方案可以完全自定义折叠行的显示内容,完全覆盖默认的 +-- 样式。
内容的提问来源于stack exchange,提问作者Luiz Guilherme
相关产品推荐
相关产品推荐

