Vim: 在状态栏中使用自定义高亮组

Vim: Using custom highlight groups in statusline

自定义 vim 状态栏时,我可以使用以下语法来使用高亮组 User1:

set statusline+=%1*

假设我有一些自定义亮点,例如:

highlight StatusLineStyle ctermbg=34 ctermfg=15 guibg=#00af00 guifg=#ffffff

如何在 statusline 中使用这些自定义语法着色?

:help 'statusline' 中有解释,就在 %1* 的部分上方:

# - Set highlight group. The name must follow and then a # again.
    Thus use %#HLname# for highlight group HLname. The same
    highlighting is used, also for the statusline of non-current
    windows.

所以……

set statusline+=%#StatusLineStyle#%f#

%N* 类似,还有 %#HLname# 用于自定义突出显示组名称。实际上,它就在上面记录(在 :help 'statusline')。因此,对于您的示例,请使用

:set statusline+=%#StatusLineStyle#

或者,您可以使用 User1..9 样式,link 您的高亮组:

:highlight link User1 StatusLineStyle