Всегда ли autocmd вызывается в vimrc? - PullRequest
0 голосов
/ 02 декабря 2010

В моем .vimrc:

fun! MySys()
    if has('win16') || has('win32') || has('win64')
        return "win"
    endif
endfun

И в моем .gvimrc:

if MySys() == "win"
    autocmd GUIEnter * simalt ~ x " start maximized"
endif

По какой-то причине autocmd вызывается, когда я открываю macvim врабочая станция Mac.Этого не должно быть, потому что я на Mac, а autocmd находится в выигрыше, если.

Какая это может быть проблема?

1 Ответ

2 голосов
/ 02 декабря 2010

Причина в том, что вы делаете странное сравнение.

Функция MySys() вернет 1, если вы используете Windows, и 0, если вы этого не сделаете.Затем вы сравниваете 0 с «победой», что (по причинам, которые я на самом деле не понимаю) приводит к совпадению.

Как насчет перехода на это:

fun! MySys()
    if has('win16') || has('win32') || has('win64')
        return "win"
    elseif has('mac') || has('maxunix')
        return "mac"
    elseif has("unix") || has("win32unix")
        " Unix or Cygwin (which acts like Unix)
        return "unix"
    else
        return "other"
    endif
endfun

(Непроверенные)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...