-1

即使它与thisthis question类似,我也需要在vim运行时知道操作系统的当前版本。前面的问题对我没有帮助,因为它们描述了可执行文件的功能集;我需要的是一个函数来返回操作系统版本的名称或编号(例如,在这个寡妇版本图表中列出)。

有吗?

4

3 回答 3

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
于 2012-06-05T17:07:33.633 回答
0

(只需制作30个字符)

echo exec('cat "/etc/issue"')

于 2012-06-05T17:09:33.663 回答
0

要调用 Win32 函数GetVersionEx(),您必须编写一个公开该函数的 DLL,并通过 Vim 从 Vim 调用它libcall()。有关所有实现细节,请参阅

:help libcall()

或者,您可以编写一个可执行文件并使用system()它来解析其输出。

于 2012-06-06T08:09:28.687 回答