我有这个
.vimrc
配置文件
$ cat ~/.vimrc
call plug#begin('~/.vim/plugged')
Plug 'alvan/vim-closetag'
" below only work with vim9
Plug 'yegappan/lsp'
call plug#end()
$
这个
.vimrc
是vim8用户使用的,其他vim9用户也可以使用。
我怎样才能执行该行
Plug 'yegappan/lspl
仅在加载它的 vim 是 vim9 的情况下?
一般来说,您不应该检查版本号,而应该检查功能。 事实上,在特定版本中添加了某些功能,使得该版本仅是次要属性。
这个案例也不例外。 引用 yegappan/lsp 的自述文件(强调我的):
此插件仅使用 Vim9 脚本编写。
:help +feature-list
相比,我们发现+vim9script
功能正是我们正在寻找的。
您可以将
Plug
命令包装在条件语句中,如下所示:
call plug#begin('~/.vim/plugged')
Plug 'alvan/vim-closetag'
if has('vim9script')
Plug 'yegappan/lsp'
endif
call plug#end()
巧合的是,Vim 9 中添加了
+vim9script
功能,因此这也是检查 Vim 版本的一种方法,尽管这是另一种间接方式。