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-listsugere 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 unamedentro do if has("unix")bloco para distinguir outros sabores do Unix. Basta executar unameou uname -ana 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 unamesaída de.
Você pode dar uma olhada aqui
Basicamente, você pode usar
has()
,system()
:fonte
Parece que é isso que você procura, eu não entendo direito, então vou ligar você.
/programming/2842078/how-do-i-detect-os-x-in-my-vimrc-file-so-fficient-configurations-will-only-apply
fonte