暂时禁用vim中的BufWrite脚本

时间:2016-12-20 20:44:16

标签: vim vim-plugin

我有vim设置在我写文件时运行Autoformat但是在编辑之前会定期忘记在我的黑名单中添加扩展名。现在我无法保存编辑,因为autoformating会弄乱缩进。有没有一种节省方法而不运行BufWrite脚本?

我的vimrc中的行是:

au BufWrite * if index(blacklist, &ft) < 0 | :Autoformat

1 个答案:

答案 0 :(得分:5)

有三种选择:

:noa[utocmd] w[rite]

将执行保存而不会触发任何 autocmds。只要您没有使用autocmds的任何其他自定义/插件,那就没问题了。

:set eventignore=BufWrite | write | set eventignore=

会暂时关闭BufWrite事件。

或者,您也可以在autocmd周围添加条件:

au BufWrite * if ! exists('g:no_autoformat') && index(blacklist, &ft) < 0 | :Autoformat

这样,您就可以通过:let g:no_autoformat = 1选择性地禁用该特定的autocmd。

PS:您的:autocmd错过了结束| endif