我需要决定我需要选择哪个二进制可执行文件,所以我必须知道运行Vim的操作系统。
我发现有一个相关的问题here。但是has('win32') || has('win64')解决方案对我不起作用,因为当我在Windows上使用msys2 Vim时,我会从has解决方案获得0,因为has解决方案只告诉操作系统vim是为哪个操作系统编译的,而不是它运行在哪个真正的操作系统上。
当我需要决定我需要选择哪个二进制可执行文件时,我必须知道真正的操作系统。这个问题有什么好主意吗?
发布于 2018-07-27 14:04:12
定义一个包含当前环境名称的全局变量(如果尚未定义)。
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诸若此类。
https://stackoverflow.com/questions/51550482
复制相似问题