Cách tốt nhất là sử dụng has(), với chức năng này, bạn có thể kiểm tra các tính năng của Vim; Các tính năng cụ thể của hệ điều hành từ
:help feature-list:
macunix Macintosh version of Vim, using Unix files (OS-X).
unix Unix version of Vim.
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
64 bits)
win32unix Win32 version of Vim, using Unix files (Cygwin)
Và một số hệ thống cũ (không dùng nữa):
amiga Amiga version of Vim.
os2 OS/2 version of Vim.
win16 Win16 version of Vim (MS-Windows 3.1).
win64 Win64 version of Vim (MS-Windows 64 bit).
win95 Win32 version for MS-Windows 95/98/ME.
Thí dụ:
if has('win32')
echo "Someone please open the Window(s)!"
endif
Một cách khác với sự linh hoạt hơn là gọi bên ngoài uname, điều này cũng cho phép bạn có được số phiên bản và như vậy:
let uname = system('uname -a')
Lưu ý rằng unamekhông có trên hầu hết các hệ thống Windows.
Nói chung, tốt nhất là sử dụng tính năng phát hiện , thay vì phát hiện hệ điều hành . Ví dụ: bằng cách sử dụng một trong các tính năng trong has()hoặc kiểm tra nếu một số đường dẫn tồn tại. Bài đăng của 200_success cung cấp một cái nhìn tổng quan về điều đó, vì vậy tôi sẽ không lặp lại cùng một nội dung ở đây.