我对 vim 脚本进行了以下尝试,以检查它是否已安装以及它的版本是否是最新的 (8+):
# Check if we have vim version 8.1+ installed
VIM_PATH=$(which vim)
VIM_VERSION=$(vim --version |grep '8.[123]')
if [ -z "$VIM_PATH" || -z "$VIM_VERSION" ]
then
...
fi
Run Code Online (Sandbox Code Playgroud)
以上是有效的脚本吗?获取版本并检查是否有更好的方法是什么
由于vim --version不是机器可读的,我很想尝试
if vim --cmd 'if v:version >= 801 | q | else | cq | fi' ; then
# vim at least 8.1
fi
Run Code Online (Sandbox Code Playgroud)
它使用一段 vim 脚本进行比较。--cmd在打开任何文件或运行之前运行命令.vimrc;该cq命令以错误状态q退出,并以成功状态退出(这是必要的,否则 vim 会想要编辑一个空白文件!)。|允许在一行中放置多个 vim 命令,就像;在 shell 中一样。