Étant donné que j'ai un groupe de commandes telles que:
augroup MyGroup
autocmd CursorMoved * silent call MyCommandOne()
augroup END
Je veux désactiver toutes les commandes automatiques dans MyGroup pendant un certain temps, puis le réactiver plus tard.
Puis-je faire quelque chose avec le groupe? Plus précisément, existe-t-il un moyen de désactiver l'ensemble du groupe à la fois? Sinon, que puis-je faire pour désactiver des commandes individuelles?
En regardant l'aide, je ne vois que quelques options:
augroup!
supprimera tout le groupe: je ne pense pas que ce soit correct car je veux le réactiver. (Mais peut-être qu'il existe un moyen de redéfinir facilement le groupe à nouveau?):noautocmd
ne désactivera que les rappels pour une invocation unique d'une commande. (Et il désactive tous les autocmds, pas ceux spécifiés)eventignore
traite de la liaison d'événement, pas de la commande: on dirait qu'elle désactive toutes les commandes liées pour un événement donné, pas seulement une commande ou un groupe que je peux spécifier.
Comment cela se fait-il?
De là , il semble que cela y soit:
la source
Pour toute personne qui n'a pas l'exigence d'affiches d'origine de pouvoir restaurer le
augroup
,:autocmd! <augroup name>
est la commande de simplement supprimer toutautocmd
dans unaugroup
, par exemple:la source