Sau*_*ier 5 vim colors highlight expansion statusline
我写了一个返回字符串的函数:
\n\nfunction! StatusBricks()\n let l:stat = Brick(statusbricks#ReportLinecount(\'raw\'), {\n \\ \'brick_color\': \'LineNr\',\n \\ \'delimiter_position\': \'right\',\n \\ \'delimiter_right\': \'\xe2\x9d\xaf\'\n \\ })\n return l:stat\nendfunction\n
Run Code Online (Sandbox Code Playgroud)\n\n结果具有以下格式,由 生成Brick()
:
%#HighlightGroup#SomeData\n
Run Code Online (Sandbox Code Playgroud)\n\n当我使用该函数作为状态行内的表达式时,我希望highlight group
展开该函数以便为适当的状态行部分着色:
set statusline =%{StatusBricks()}\n
Run Code Online (Sandbox Code Playgroud)\n\n但我得到的是状态栏字面显示%#HighlightGroup#ExpandedData
而不是ExpandedData
:
我究竟做错了什么?
\n的结果%{
没有进一步解释,但是 的结果%!
是。使用
set statusline=%!StatusBricks()
Run Code Online (Sandbox Code Playgroud)
%!
帮助文件中似乎没有标签,但在 的开头附近提到了它:help 'statusline'
。
按照您的评论:如果您希望根据每个特定窗口的状态在状态行中使用不同的颜色,那么如果您不希望出现特定的突出显示,则可以突出显示空字符串。例如
set stl=%#error#%r%#search#
Run Code Online (Sandbox Code Playgroud)
只有只读窗口(例如打开帮助缓冲区)才会将只读标志显示为红色。诚然,根据您的突出显示要求,这可能会变得复杂。
归档时间: |
|
查看次数: |
648 次 |
最近记录: |