Given I have a group of commands such as:

augroup MyGroup
  autocmd CursorMoved * silent call MyCommandOne()
augroup END

I want to disable all the autocommands in MyGroup for a time and then re-enable it later.

Is there anything I can do with the group? Specifically, is there a way to disable the whole group at once? If not, what can I do to disable individual commands?

Looking at the help, I only see a few options:

  • augroup! will delete the whole group: I don't think this is right since I will want to re-enable it again. (But maybe there's a way to easily redefine the group again?)
  • :noautocmd will only disable the callbacks for a one-off invocation of a command. (And it disables all autocmds, not specified ones)
  • eventignore addresses the event binding, not the command: it sounds like it disables all bound commands for a given event, not just one command or a group I can specify.

How is this done?


From :help autocmd:

If you want to skip autocommands for one command, use the :noautocmd command
modifier or the 'eventignore' option.

From :help :noautocmd:

To disable autocommands for just one command use the ":noautocmd" command
modifier.  This will set 'eventignore' to "all" for the duration of the
following command.  Example:

    :noautocmd w fname.gz

This will write the file without triggering the autocommands defined by the
gzip plugin.

So it appears :noautocmd is what you are looking for.

In what context do you want to disable an augroup?

| improve this answer | |
  • Thanks for your answer, but I read this in the docs already. I clarified my question to (hopefully) show what I'm looking for. – Andrew Vit Jun 21 '12 at 8:45

From here, it seems that this achieves it:

:augroup Foo
:autocmd BufEnter * :echo "hello"
:augroup END


:autocmd! Foo BufEnter *
| improve this answer | |

For anyone who doesn't have the original posters requirement of being able to restore the augroup, :autocmd! <augroup name> is the command to simply delete all autocmd in an augroup, e.g.:

:autocmd! MyGroup
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.