&引用;“未闭合的表达序列”;VimScript中的错误
为了设置我的&引用;“未闭合的表达序列”;VimScript中的错误,vim,macvim,Vim,Macvim,为了设置我的状态行,我有以下步骤: 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) se
状态行
,我有以下步骤:
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)
set stl=%使用:set
,值中的所有空格也必须用反斜杠转义。因此,建议删除其中任何不必要的空白,或者使用:let&stl='…'
(其中仅包含'
字符的字符必须加倍)。看起来您需要在函数中执行该逻辑:statusline
似乎不喜欢您的三元条件。%Y
也有什么问题?这是因为有时候它有文件类型,有时候没有,如果没有,那么只有逗号和空格,所以看起来很奇怪,所以我想检查并显示不同的结果,这取决于它是否定义了。谢谢!我能解决它。:)另外,谢谢你提出我的另一个问题@Eduan一个补充:set stl+='…'
具有let&stl.='…'
(注意:点,不是加号)粗略等效(粗略,因为它适用于stl
,但对于例如,运行时路径选项等效将不同)。@ZyX谢谢!是的,我在Ingo对我上一个问题的回答中看到了这一点,不过,谢谢。)