如何更改Vim状态行中用于空白的字符?

如何更改Vim状态行中用于空白的字符?,vim,Vim,我正在Vim中使用以下statusline设置: set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P set statusline=%标准状态行是:set statusline=%选项指定填充状态行的字符 和垂直分离器。选项中的stl:和stlnc:项 值对应于当前窗口的状态行和 其他窗口的状态行。查看当前状态 选择fillchars选项(通过:set fcs?),并尝试设置填充 statusl

我正在Vim中使用以下
statusline
设置:

set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P

set statusline=%标准状态行是
:set statusline=%选项指定填充状态行的字符
和垂直分离器。选项中的
stl:
stlnc:
项 值对应于当前窗口的状态行和 其他窗口的状态行。查看当前状态 选择
fillchars
选项(通过
:set fcs?
),并尝试设置填充 statusline的显式字符:

:set fillchars+=stl:\ ,stlnc:\ "
(此处最后一个引号符号开始注释,不影响注释。)
值集,添加它只是为了让前面的空格变得明显。)

也有同样的问题,最终意识到我只是在使用某些配色方案时才看到它。进一步挖掘发现,这些配色方案将
StatusLine
StatusLineNC
高亮显示组设置为相同的值

:help StatusLineNC
注意,如果
StatusLine
StatusLineNC
的值相等,则Vim将在当前窗口的状态行中使用
^^


修复方法是注释掉在有问题的配色方案中更改这些值的行。

运行
set fcs?
会产生
fillchars=vert:|,fold:-,stl:,stlnc:
,但是
:set fillchars+=stl:\,stlnc:\“
无效。我尝试更改命令,但似乎不起作用。谢谢你的回答!我在Ubuntu和操作系统中的vim都能很好地工作,macvim带来了麻烦。vim、GVim或两者都有这个问题吗?如果Vim以
Vim-u NONE
的方式运行,是否会出现问题?实际上只是mvim。Vim在mac和Ubuntu中都能正常工作。很好的发现!这个答案应该被接受,因为它揭示了鲜为人知的行为的实际原因。(顺便说一句,欢迎来到StackOverflow,继续做好工作!)太棒了!我使用的是
railscasts.vim
,而
StatusLine
StatuslineNC
的值相等。我换了,现在看起来干净多了。谢谢非常感谢你!我已经在w/fillchar上乱搞了一个小时,这是我的配色方案:S
:set fillchars+=stl:\ ,stlnc:\ "