尽管它类似于this和this问题,但我需要知道vim运行时操作系统的当前版本。之前的问题对我没有帮助,因为它们描述了可执行文件的功能集;我需要的是一个函数来返回os版本的名称或编号(例如,在此widows version chart中列出)。
有吗?
答案 0 :(得分:1)
我不了解Windows,但在Mac OS X上你可以这样做:
$ sw_vers -productVersion
在Ubuntu上你可以这样做:
$ lsb_release -rs
这种快速破解似乎有效,你必须根据自己的需要进行调整:
function! GetSysVersion()
let os=substitute(system('uname'), '\n', '', '')
if os == 'Darwin' || os == 'Mac'
let sys_version=substitute(system('sw_vers -productVersion'), '\n', '', '')
elseif os == 'Linux'
let sys_version=substitute(system('lsb_release -rs'), '\n', '', '')
endif
echo sys_version
endfunction
答案 1 :(得分:0)
(只需制作30个字符)
echo exec('cat "/etc/issue"')
答案 2 :(得分:0)
要调用Win32函数GetVersionEx()
,您必须编写一个公开该函数的DLL,并通过libcall()
从Vim调用它。有关所有实现细节,请参阅
:help libcall()
或者,您可以编写可执行文件并使用system()
来解析其输出。