एनबी हालांकि दोनों पिछले जवाबों ने मुझे यह जानने के लिए पर्याप्त जानकारी दी कि समस्या को कैसे हल किया जाए (और मुझ से प्राप्त), न तो वास्तव में पूर्ण उत्तर दिया। ताकि एक ही प्रश्न वाले अन्य लोगों को अनुसंधान न करना पड़े, मैं अपना उत्तर जोड़ रहा हूं। हालाँकि, अगर @googletorp या @Azz ने इस जानकारी को शामिल करने के लिए अपने उत्तर को संपादित किया है, तो मैं अपना उत्तर हटा दूंगा और उनकी बात मान लूंगा।
करने के लिए उत्पादन :h feature-list
पता चलता है कि आप का उपयोग करने में सक्षम होना चाहिए has("win32")
और has("macunix")
, लेकिन बाद विम के संस्करण में काम नहीं करता ओएस एक्स में शामिल (यह करता है , तथापि, 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 बिट विंडोज पर 64 बिट विम में भी, मेरे लिए काम किया।
आप यूनिक्स के अन्य स्वादों को अलग करने के uname
लिए if has("unix")
ब्लॉक के भीतर भी इसी तरह के परीक्षणों का उपयोग कर सकते हैं । बस चलाने uname
या uname -a
कमांड-लाइन से यह देखने के लिए कि आपको क्या तुलना करने की आवश्यकता है s:uname
। यह भी देखें :h matchstr()
कि क्या आपको uname
आउटपुट के सिर्फ एक हिस्से की तुलना करनी है ।