NB Bien que les deux réponses précédentes m'ont donné suffisamment d'informations pour comprendre comment résoudre le problème (et reçu des votes positifs de ma part), aucune n'a donné la réponse complète. Pour que les autres ayant la même question n'aient pas à faire la recherche, j'ajoute ma propre réponse. Cependant, si @googletorp ou @Azz modifient leur réponse pour inclure ces informations, je supprimerai ma réponse et accepterai la leur.
La sortie à :h feature-listsuggère que vous devriez pouvoir utiliser has("win32")et has("macunix"), mais ce dernier ne fonctionne pas dans la version de Vim incluse dans OS X. (Il fonctionne cependant dans MacVim.)
Voici ce que j'ai fini par utiliser:
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
Notez que cela a has("win32")fonctionné pour moi, même dans Vim 64 bits sur Windows 64 bits.
Vous pouvez également utiliser des tests similaires unameà l'intérieur du if has("unix")bloc pour distinguer d'autres versions d'Unix. Exécutez simplement unameou à uname -apartir de la ligne de commande pour voir avec quoi comparer s:uname. Voir aussi :h matchstr()si vous devez comparer seulement une partie de unamela sortie de.
Vous pouvez jeter un œil ici
En gros, vous pouvez utiliser
has()
,system()
:la source
Cela semble être ce que vous recherchez, je ne le comprends pas très bien, je vais donc vous lier.
/programming/2842078/how-do-i-detect-os-x-in-my-vimrc-file-so-certain-configurations-will-only-apply
la source