vim statusline使用插入符号表示空格。如何切换到空格?

时间:2011-08-28 19:21:00

标签: vim

enter image description here

我使用以下状态行:

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

3 个答案:

答案 0 :(得分:21)

有同样的问题,并最终意识到我只在使用某些颜色方案时才看到它。再多挖掘一次,发现这些颜色方案将StatusLineStatusLineNC设置为相同的值。

:help StatusLineNC注意到如果StatusLineStatusLineNC具有相同的值,则Vim将在当前窗口的状态行中使用^^^

修复是注释掉在有问题的colorschemes中改变这些值的行。

答案 1 :(得分:2)

fillchars选项指定填充状态行的字符 垂直分隔符。选项的stl:stlnc:项对应 到当前窗口的状态行和其他窗口的状态行, 分别。查看fillchars选项的当前状态(按:set fcs?),并尝试明确设置状态行的填充字符:

:set fillchars+=stl:\ ,stlnc:\ "

(此处最后一个引号符号开始注释,不会影响该值 设置,它被添加以使前面的空格明显。)

答案 2 :(得分:1)

标准状态行是:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P所以我猜这是造成这种情况的逃犯部分。它有什么作用?它以什么格式显示数据?

来自:help 'statusline'

{ NF  Evaluate expression between '%{' and '}' and substitute result.
          Note that there is no '%' before the closing '}'.

您的状态线看起来是正确的,请查看fugitive部分...


<强>更新

做了git clone http://github.com/tpope/vim-fugitive并尝试了上面的状态 可以在documentation for fugitive中找到,状态行正确 为我显示。使用xbuntu 11.04。所以更新到最新,再试一次是我的建议。 并使用set ruler