vim - VimScript 中的 "Unclosed expression sequence"错误

标签 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:未闭合的表达式序列:STL+=%{empty(&filetype)

有人知道这个错误是什么意思吗?我一直在尝试解决它,但我就是不明白它是什么意思。

感谢您的帮助。 :)

最佳答案

对于 :set,值中的所有空格也必须用反斜杠转义。因此,建议去掉那里任何不必要的空格,或使用 :let &STL = '...' 代替(其中只包含 ' 的字符必须加倍)。

关于vim - VimScript 中的 "Unclosed expression sequence"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13346053/

相关文章:

vim - 为什么\r\n在vi中显示为^M?

ubuntu - 如何在 .vimrc 中检测 vim 与 gvim

vim - 使用 MacVim 识别 vimrc 文件时遇到问题

vim - MacVim 中的命令键

vim 使箭头键像大多数普通程序一样工作

vim - vim中的删除文本?

regex - 如何按长度对一系列行进行排序?

php - VIM php语法错误

linux - 这个命令会做什么

vim - 如何配置 vim 将 .es6 文件视为 javascript 文件