我在许多机器上使用相同的vimrc,其中一些已经安装了sustinate.vim,而另一些没有。我喜欢在我的statusline中包含fugitive#statusline()
,但是在没有安装插件的机器上,这会导致错误。
调用set statusline
之前是否有方法检查此函数的存在?我试过使用exists
y,但由于某种原因(加载顺序?)
if exists("*fugitive#statusline")
set statusline=%<\ %f\ %{fugitive#statusline()} ... (other stuff)
endif
我也尝试过在命令前面加上
silent!
来消除错误,但这似乎也不起作用。 最佳答案
这是一条捷径:
set statusline+=%{exists('g:loaded_fugitive')?fugitive#statusline():''}