N.B. Embora ambas as respostas anteriores tenham me dado informações suficientes para descobrir como resolver o problema (e recebi votos positivos de mim), nenhum dos dois deu a resposta completa. Para que outras pessoas com a mesma pergunta não tenham que fazer a pesquisa, estou adicionando minha própria resposta. No entanto, se @googletorp ou @Azz editar sua resposta para incluir essa informação, removerei minha resposta e aceito a resposta dela.
A saída para :h feature-list
sugere que você possa usar has("win32")
e has("macunix")
, mas o último não funciona na versão do Vim incluída no OS X. (Ele faz , no entanto, trabalhar em MacVim.
Aqui está o que acabei usando:
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
Observe que has("win32")
funcionou para mim, mesmo no Vim de 64 bits no Windows de 64 bits.
Você também pode usar testes semelhantes de uname
dentro do bloco if has("unix")
para distinguir outros tipos de Unix. Basta executar uname
ou uname -a
na linha de comando para ver com o que você precisa comparar s:uname
com. Veja também :h matchstr()
se você precisa comparar apenas uma parte da saída de uname
.