我对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

以上是有效脚本吗?有什么更好的方法来获取版本并检查是否

分析解答

由于vim --version不是machine-readable,因此我很想尝试

if vim --cmd 'if v:version >= 801 | q | else | cq | fi' ; then
    # vim at least 8.1
fi

它使用vim脚本片段进行比较。 --cmd在打开任何文件或运行.vimrc之前运行命令; cq命令以错误状态退出,而q以成功状态退出(这是必需的,因为vim希望编辑空白文件!)。 |允许将多个vim命令放在一行上,例如;shell中。