-1

これこの質問に似ていますが、vimの実行中にオペレーティングシステムの現在のバージョンを知る必要があります。前の質問は、実行可能ファイルの機能セットについて説明しているため、役に立ちません。私が必要としているのは、名前または番号のいずれかでOSバージョンを返す関数です(たとえば、この未亡人のバージョンチャートにリストされているように)。

ありますか?

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 から呼び出す必要がありlibcall()ます。すべての実装の詳細については、を参照してください。

:help libcall()

または、実行可能ファイルを作成し、system()その出力を解析するために使用することもできます。

于 2012-06-06T08:09:28.687 に答える