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 uname
khô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.