VimScript中的“未关闭的表达式序列”错误

时间:2012-11-12 15:02:43

标签: vim macvim

我有以下内容以设置statusline

set stl=%<\ [Buf:\ %n]%m\ %f\ [
set stl+=%{empty(&filetype) ? \"" : \"," . toupper(&filetype) . \", \"}
set stl+=%{(&fenc!=''?&fenc:&enc)}]

set stl+=%=[0x\%02.2B]\ [Line:\ %04l/%04L\ \|\ Col:\ %c%V]\ (%P)

我个人没有看到任何问题,但它只是一直给我以下错误:
E540: Unclosed expression sequence: stl+=%{empty(&filetype)

有人知道这个错误意味着什么吗?我一直在努力解决它,但我无法理解它的含义。

感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:5)

使用:set时,值中的所有空格也必须使用反斜杠进行转义。因此,建议不要使用任何不必要的空格,或者使用:let &stl = '...'代替(其中只包含'个字符必须加倍)。