我需要确定我需要选择哪个二进制可执行文件,因此我必须知道运行Vim的操作系统。
我发现有一个相关的问题here。但是has('win32') || has('win64')
解决方案对我不起作用,因为当我在Windows上使用msys2 Vim时,我将从0
解决方案中得到has
,因为has
该解决方案仅告诉操作系统为哪个vim编译,而不是告诉其正在运行的实际OS。
当我需要确定需要选择的二进制可执行文件时,我必须知道真正的操作系统。关于这个问题有什么好主意吗?
答案 0 :(得分:2)
来自this Gist:
定义一个尚未包含当前环境名称的全局变量。
if !exists('g:env')
if has('win64') || has('win32') || has('win16')
let g:env = 'WINDOWS'
else
let g:env = toupper(substitute(system('uname'), '\n', '', ''))
endif
endif
使用该全局变量...
if g:env =~ 'DARWIN'
" ... to do Mac OS X-specific stuff.
endif
if g:env =~ 'LINUX'
" ... to do Linux-specific stuff.
endif
if g:env =~ 'WINDOWS'
" ... to do Windows-specific stuff.
endif
if g:env =~ 'CYGWIN'
" ... to do Cygwin-specific stuff.
endif
if g:env =~ 'MINGW'
" ... to do MinGW-specific stuff (Git Bash, mainly).
endif
以此类推。