1

I don't like the cterm=reverse used on the StatusLine. Without reverse, I also don't care for bold, so I ended up with hi StatusLine cterm=none in my .vimrc.

However, this lead the spaces caused by the %= in my statusline to be displayed as ^'s, which is quite obnoxious.

Here's my statusline code:

if has('statusline')
    if version >= 700
        " Fancy status line.
        set statusline =
        set statusline+=%n                                 "buffer number
        set statusline+=%{'/'.bufnr('$')}\                 "buffer count
        set statusline+=%f%m\                              "file name/modified flag
        set statusline+=(%{strlen(&ft)?&ft:'none'})        "file type
        set statusline+=%=                                 "indent right
        set statusline+=U+%04B\                            "Unicode char under cursor
        set statusline+=%-6.(%l/%{line('$')},%c%V%)\ %<%P  "position
    endif
endif

What's causing that to happen? And can I change it or do I have to settle for cterm=bold?

  • This could be a bug. – Christian Brabandt Mar 5 '15 at 20:22
  • 1
    I checked it in the source. This is done on purpose to make fillchars visible. Don't think there is a way around. I would probably make the statusline bold or use underline highlighting – Christian Brabandt Mar 5 '15 at 21:26
2

No. There is no way around that. This is done on purpose whenever the Statusline highlighting is not different than the normal highlighting. You could however try to set the Statusline highlighting to a particular highlighting. That should prevent that this happens. E.g. if you are using this in a black terminal, try this:

:hi StatusLine ctermbg=0 term=none

That means, by setting the highlighting group of the statusline to a particular color it will be different than the Normal highlighting and therefore, the replacement of the fillchars to '^' will not occurr.

You might also want to consider to set the StatuslineNC highlighting to a similar highlighting.

  • I use various background colors for terminals that all rely on the same .vimrc, so unfortunately setting a specific color wouldn't be any better (unless I can set it to "whatever is being used for the bg"). Looks like I'll just have to settle for bold or underlined then. – SnoringFrog Mar 6 '15 at 15:52
  • "whatever is being used for the bg" That is possible. Use 'ctermbg=bg' this works, if your Vim knows the current bg color otherwise you might get an error. – Christian Brabandt Mar 6 '15 at 21:35
  • :hi StatusLine ctermbg=bg just gives me E420: BG color unknown, unfortunately – SnoringFrog Mar 9 '15 at 18:29
  • What is the definition of the :Normal highlighting group for you? – Christian Brabandt Mar 9 '15 at 18:38
  • "highlight group not found: Normal" – SnoringFrog Mar 9 '15 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.