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