Ric*_*ich 20 windows vim macos
我在 OS X 和 Windows 上都使用 Vim,配置几乎相同。
我希望能够.vimrc在两个操作系统上使用相同的操作系统,但是我需要以不同的方式配置一些东西。
我想添加到我的.vimrc文件中的是:
:if <windows>
"some windows-specific settings here
:elseif <os x>
"some os x-specific settings here
:endif
Run Code Online (Sandbox Code Playgroud)
但我不知道<windows>and 有什么用<os x>。
这可能吗?
Ric*_*ich 30
注意,虽然之前的两个答案都给了我足够的信息来弄清楚如何解决问题(并收到了我的赞成票),但实际上都没有给出完整的答案。为了让其他有同样问题的人不必进行研究,我添加了我自己的答案。但是,如果@googletorp 或@Azz 编辑他们的答案以包含此信息,我将删除我的答案并接受他们的答案。
输出 to: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
Run Code Online (Sandbox Code Playgroud)
请注意,这has("win32")对我有用,即使在 64 位 Windows 上的 64 位 Vim 中也是如此。
您还可以使用块uname内的类似测试if has("unix")来区分其他风格的 Unix。只需运行uname或uname -a从命令行查看您需要比较s:uname的内容。另请参阅:h matchstr()是否只需要比较 的一部分uname输出。