示例:
function! MkStatusLine()
let &stl=''
let &stl.='%{abcd()}'
endfunction
function abcd()
if this
return ' myvalue'
elseif this
return ' '
endif
endfunction
如何退回空格?
回归' '被视为回归'
回归' myvalue的'被视为回归' myvalue'
答案 0 :(得分:1)
我怀疑您误解了结果并且您的功能正常运行。检查
:echo '#'.abcd().'#'
产生。您应该观察# #
而不是##
。
如果没有,你确定你的功能中只有两个路径吗?
else
路径怎么样?您可以使用以下命令对其进行调试::debug echo abcd()
。从那里你可以转到n
ext指令,或s
tep-在函数调用中,或f
打电话给当前函数,你可以c
打开直到下一个断点等。请参阅:h :debug
。
可以肯定的是,可以在VimL中返回空格。如果函数的第一行是return ' '
,则会看到返回一个空格。