NB: Embora as duas respostas anteriores tenham me dado informações suficientes para descobrir como resolver o problema (e recebi upvotes de mim), nenhuma delas deu a resposta completa. Para que outras pessoas com a mesma pergunta não precisem fazer a pesquisa, estou adicionando minha própria resposta. No entanto, se @googletorp ou @Azz editarem suas respostas para incluir essas informações, removerei minha resposta e as aceito.
A saída para :h feature-list
sugere que você deve ser capaz de usar has("win32")
e has("macunix")
, mas o último não funciona na versão do Vim incluído no OS X. (Ele faz , no entanto, o trabalho em MacVim.)
Aqui está o que eu 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 uname
dentro do if has("unix")
bloco para distinguir outros sabores do Unix. Basta executar uname
ou uname -a
na linha de comando para ver com o que você precisa comparar s:uname
. Veja também :h matchstr()
se você precisa comparar apenas uma parte da uname
saída de.