Имея одинаковые "au FilterWritePost" в vimrc и gvimrc - оба они называются в vim? - PullRequest
0 голосов
/ 06 декабря 2010

Если у меня есть au FilterWritePost * do_something в .vimrc и au FilterWritePost * do_something2 в .gvimrc, и я открываю gVim и выполняю это событие, оба они вызывают, или определение .gvimrc переопределяет определение .vimrc (только do_something2 вместо do_something или обоих)?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

В дополнение к ответу jackerran: используйте группы автокоманд:

" Name may be any, but it should not be equal to any of events name. "
" Case is ignored "
augroup ThisDoesSomething
    " Wipe out every event from this group "
    autocmd!
    autocmd! FilterWritePost * do_something
augroup END

Это безопасно для одновременного размещения в vimrc и gvimrc: au! удалит дубликаты, если они возникнут.

4 голосов
/ 06 декабря 2010

Да, они будут. Вы можете предотвратить это, набрав это так

au! FilterWritePost * do_something2

! говорит автокоманде заменить любую другую автокоманду с той же сигнатурой FilterWritePost. Если вы запустите gvim, сначала запустится .vimrc, а затем .gvimrc, поэтому ваша автокоманда в .vimrc будет заменена версией в вашем .gvimrc

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