Uwaga: Mimo że obie poprzednie odpowiedzi dały mi wystarczająco dużo informacji, aby dowiedzieć się, jak rozwiązać problem (i otrzymałem ode mnie opinie), żadne z nich nie udzieliło pełnej odpowiedzi. Aby inni z tym samym pytaniem nie musieli przeprowadzać badań, dodaję własną odpowiedź. Jeśli jednak @googletorp lub @Azz edytują swoją odpowiedź, aby uwzględnić te informacje, usunę moją odpowiedź i zaakceptuję ich.
Wyjście do :h feature-list
sugeruje, że powinieneś być w stanie wykorzystać has("win32")
i has("macunix")
, ale ten nie działa w wersji Vima zawarte w OS X. (to robi , jednak praca w MacVim).
Oto, co ostatecznie wykorzystałem:
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
Zauważ, że has("win32")
działało dla mnie, nawet w 64-bitowym Vimie na 64-bitowym systemie Windows.
Możesz również użyć podobnych testów uname
wewnątrz if has("unix")
bloku, aby rozróżnić inne smaki Uniksa. Wystarczy uruchomić uname
lub uname -a
z wiersza polecenia, aby zobaczyć, z czym musisz porównać s:uname
. Zobacz także, :h matchstr()
czy musisz porównać tylko część uname
wyników.