获取当前操作系统的Vimscript中是否有命令?

Pau*_*cks 5 vi vim

标题说的是什么.我可以想到一些hackish方法,但有没有正确的方法来做到这一点?

Tim*_*gan 6

要检查Windows,我见过的大多数脚本都使用以下内容:

let s:win = has("win16") || has("win32") || has("win64")
Run Code Online (Sandbox Code Playgroud)

如果没有定义,那么它是一个非Windows系统,您可以尝试MartínFixmanuname建议.


Mar*_*man 5

如果您确定将使用类Unix操作系统,则可以使用

let os = substitute(system('uname'), "\n", "", "")
if os == "SunOS"
" Do Sun-specific stuff.
...
elseif os == "Linux"
" Do Linux-specific stuff.
...
endif
Run Code Online (Sandbox Code Playgroud)

无论如何,您可以使用has()命令检查是否支持某些功能,以获取更多信息

:help has()
Run Code Online (Sandbox Code Playgroud)