Есть ли в Vimscript команда для получения текущей операционной системы? - PullRequest
5 голосов
/ 06 мая 2010

Что говорит заголовок. Я могу придумать несколько хакерских способов сделать это, но есть ли правильный способ сделать это?

Ответы [ 3 ]

6 голосов
/ 06 мая 2010

Для проверки Windows большинство сценариев, которые я видел, используют следующее:

let s:win = has("win16") || has("win32") || has("win64")

Если ни один из них не определен, то это не система Windows, и вы можете попробовать uname предложение Мартином Фиксманом .

5 голосов
/ 06 мая 2010

Если вы уверены, что будете использовать Unix-подобную операционную систему, вы можете использовать

let os = substitute(system('uname'), "\n", "", "")
if os == "SunOS"
" Do Sun-specific stuff.
...
elseif os == "Linux"
" Do Linux-specific stuff.
...
endif

Вы можете в любом случае использовать команду has (), чтобы проверить, поддерживается ли какая-либо функция, для получения дополнительной информации смотрите

:help has()
1 голос
/ 21 марта 2012
has('gui_macvim') has('gui_gtk2') has('gui_gtk') has('gui_win32')
...