Nota: aunque ambas respuestas anteriores me dieron suficiente información para descubrir cómo resolver el problema (y recibieron votos positivos de mi parte), ninguna de las dos dio la respuesta completa. Para que otros con la misma pregunta no tengan que hacer la investigación, estoy agregando mi propia respuesta. Sin embargo, si @googletorp o @Azz editan su respuesta para incluir esta información, eliminaré mi respuesta y aceptaré la suya.
La salida a :h feature-listsugiere que usted debería ser capaz de utilizar has("win32")y has("macunix"), aunque este último no funciona en la versión de Vim incluido en OS X. (Se hace , sin embargo, el trabajo en MacVim).
Esto es lo que terminé 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
Tenga en cuenta que has("win32")funcionó para mí, incluso en Vim de 64 bits en Windows de 64 bits.
También podría usar pruebas similares unamedentro del if has("unix")bloque para distinguir otros sabores de Unix. Simplemente ejecute unameo uname -adesde la línea de comandos para ver con qué necesita comparar s:uname. Vea también :h matchstr()si necesita comparar solo una parte de unamela salida de.
Puedes echar un vistazo aquí
Básicamente, se puede utilizar cualquiera
has()
,system()
:fuente
Esto parece ser lo que buscas, no lo entiendo del todo, así que solo te vincularé.
/programming/2842078/how-do-i-detect-os-x-in-my-vimrc-file-so-certain-configurations-will-only-apply
fuente