NB Meskipun kedua jawaban sebelumnya memberi saya informasi yang cukup untuk mencari tahu bagaimana menyelesaikan masalah (dan menerima suara positif dari saya), tidak ada yang benar-benar memberikan jawaban lengkap. Agar orang lain dengan pertanyaan yang sama tidak perlu melakukan penelitian, saya menambahkan jawaban saya sendiri. Namun, jika @googletorp atau @Azz mengedit jawaban mereka untuk memasukkan info ini, saya akan menghapus jawaban saya dan menerima jawaban mereka.
Output ke :h feature-list
menunjukkan bahwa Anda harus dapat menggunakan has("win32")
dan has("macunix")
, tetapi yang terakhir tidak bekerja di versi Vim termasuk dalam OS X. (Ini tidak , bagaimanapun, bekerja di MacVim.)
Inilah yang akhirnya saya gunakan:
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
Catatan yang has("win32")
bekerja untuk saya, bahkan dalam 64 bit Vim pada Windows 64 bit.
Anda juga bisa menggunakan tes serupa uname
di dalam if has("unix")
blok untuk membedakan rasa Unix lainnya. Jalankan saja uname
atau uname -a
dari baris perintah untuk melihat apa yang perlu Anda bandingkan s:uname
. Lihat juga :h matchstr()
jika Anda perlu membandingkan hanya sebagian dari uname
output.