我写了一个返回字符串的函数:
function! StatusBricks()
let l:stat = Brick(statusbricks#ReportLinecount('raw'), {
\ 'brick_color': 'LineNr',
\ 'delimiter_position': 'right',
\ 'delimiter_right': '❯'
\ })
return l:stat
endfunction
结果具有以下格式,由Brick()
:
%#HighlightGroup#SomeData
当我将该函数用作状态行内的表达式时,我希望扩展highlight group
以便为相应的状态行部分着色:
set statusline =%{StatusBricks()}
但我得到的是一个字面线显示%#HighlightGroup#ExpandedData
而不是ExpandedData
:
我做错了什么?
答案 0 :(得分:0)
%{
的结果未被进一步解释,但%!
的结果是。set statusline=%!StatusBricks()
。使用
%!
:help 'statusline'
似乎在帮助文件中没有标记,但在set stl=%#error#%r%#search#
的开头附近提到了它。
关注您的评论:如果您想要根据每个特定窗口的状态在状态行中使用不同的颜色,那么如果您不想要特定的突出显示,则可以突出显示空字符串出现。 E.g。
from git import Repo
repo_url = "http://repo.or.cz/w/htmlpurifier.git"
local_dir = "/Users/user1/gitprojects/"
Repo.clone_from(repo_url, local_dir)
只有只读窗口(例如打开帮助缓冲区)才会将只读标志显示为红色。不可否认,根据您的突出显示要求,这可能会变得复杂。