Answers:
注意:尽管前面的两个答案都给了我足够的信息来找出解决问题的方法(并得到了我的支持),但实际上都没有给出完整的答案。为了使其他有相同问题的人不必进行研究,我添加了自己的答案。但是,如果@googletorp或@Azz编辑他们的答案以包含此信息,我将删除我的答案并接受他们的答案。
输出的结果:h feature-list
表明您应该可以使用has("win32")
and has("macunix")
,但是后者在OS X中包含的Vim版本中不起作用。(但是,在MacVim中可以使用。)
这是我最终使用的内容:
if has("win32")
"Windows options here
else
if has("unix")
let s:uname = system("uname")
if s:uname == "Darwin\n"
"Mac options here
endif
endif
endif
请注意has("win32")
,即使在64位Windows上的64位Vim中,它也对我有用。
您也可以uname
在if has("unix")
块中使用类似的测试来区分Unix的其他类型。只需运行uname
或uname -a
从命令行查看需要比较s:uname
的内容。另请参阅:h matchstr()
是否仅需要比较的一部分uname
输出。
你可以在这里看看
基本上,您可以使用has()
,system()
:
let os = substitute(system('uname'), "\n", "", "")
if os == "SunOS"
..
endif
这似乎是您的追求,我不太了解,因此只链接您。
/programming/2842078/how-do-i-detect-os-x-in-my-vimrc-file-so-certain-configurations-will-only-apply