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-listmenunjukkan 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 unamedi dalam if has("unix")blok untuk membedakan rasa Unix lainnya. Jalankan saja unameatau uname -adari baris perintah untuk melihat apa yang perlu Anda bandingkan s:uname. Lihat juga :h matchstr()jika Anda perlu membandingkan hanya sebagian dari unameoutput.
Sebagai catatan: dalam vim dari MSYS2 memiliki ("unix") adalah 1, memiliki ("win32") adalah 0 dan memiliki ("win32unix") adalah 1. Jadi gunakan has ("win32unix") untuk membedakannya.
Anda bisa melihatnya di sini
Pada dasarnya, Anda dapat menggunakan salah
has()
,system()
:sumber
Sepertinya ini yang Anda cari, saya tidak begitu mengerti jadi saya hanya akan menghubungkan Anda.
/programming/2842078/how-do-i-detect-os-x-in-my-vimrc-file-so-certain-configurations-will-only-apply
sumber