就像标题所说的那样。
我很想知道如何使用VimScript,我可以执行if语句,检查当前文件中是否存在%Y(状态行)。这就是我到目前为止所做的:
if expand('%:Y') != ""
let filetype=extend('%:Y')
let filetype+= ",\ "
else
let filetype=""
endif
当然,这是我的状态行,如果文件类型不存在,我不想显示文件类型逗号和空格。
感谢您的帮助!
答案 0 :(得分:4)
您无法使用expand()
或类似内容来解决'statusline'
中的选项;它们只在设置中解释。
如果您不喜欢该选项返回的格式,或者想要将选项组合到自定义指标,则必须在%{...}
Vimscript表达式中模拟该选项。大多数选项可以完全或大部分模拟。对于%Y
,这将包含在'statusline'
中:
let &statusline .= '%{empty(&filetype) ? "" : "," . toupper(&filetype) . ", "}'
您也可以将其移至单独的:function
,而不是将大型表达式内联。