我在许多机器上使用相同的vimrc,其中一些已经安装了sustinate.vim,而另一些没有。我喜欢在我的statusline中包含fugitive#statusline(),但是在没有安装插件的机器上,这会导致错误。
调用set statusline之前是否有方法检查此函数的存在?我试过使用existsy,但由于某种原因(加载顺序?)

if exists("*fugitive#statusline")
  set statusline=%<\ %f\ %{fugitive#statusline()} ... (other stuff)
endif

我也尝试过在命令前面加上silent!来消除错误,但这似乎也不起作用。

最佳答案

这是一条捷径:

set statusline+=%{exists('g:loaded_fugitive')?fugitive#statusline():''}

09-07 09:32