Not: Her iki önceki cevaplar da bana sorunun nasıl çözüleceğini (ve benden çok fazla puan aldı) bulmak için yeterli bilgi vermesine rağmen, ikisi de tam cevabı vermedi. Böylece aynı soruyu başkaları araştırmayı yapmak zorunda kalmaz, kendi cevabımı ekliyorum. Ancak, @googletorp veya @Azz bu bilgiyi eklemek için cevaplarını düzenlerse, cevabımı kaldıracağım ve onların cevaplarını kabul edeceğim.
Çıkış :h feature-list
kullanmak gerekir önerir has("win32")
ve has("macunix")
ancak Vim sürümünde çalışmaz ikincisi OS X dahil (O does Ancak MacVim çalışma.)
İşte sonunda kullandığım şey:
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")
Benim için çalıştığını, 64 bit Windows'ta 64 bit Vim'de bile çalıştığını unutmayın .
Unix'in diğer lezzetlerini ayırt etmek uname
için if has("unix")
blok içindeki benzer testleri de kullanabilirsiniz . Sadece çalıştırmak uname
veya uname -a
komut satırından karşılaştırmak için gerekenleri görmek için s:uname
birlikte. Ayrıca :h matchstr()
, uname
çıktısının yalnızca bir bölümünü karşılaştırmanız gerekip gerekmediğine de bakın .