我有vim设置在我写文件时运行Autoformat但是在编辑之前定期忘记在我的黑名单中添加扩展名.现在我无法保存编辑,因为autoformating会弄乱缩进.有没有一种方法可以在不运行BufWrite脚本的情况下进行保存?
我的vimrc中的行是:
au BufWrite * if index(blacklist, &ft) < 0 | :Autoformat
有三种选择:
:noa[utocmd] w[rite]
Run Code Online (Sandbox Code Playgroud)
将执行保存而不会触发任何 autocmds.只要您没有使用autocmds的任何其他自定义/插件,那就没问题了.
:set eventignore=BufWrite | write | set eventignore=
Run Code Online (Sandbox Code Playgroud)
将暂时关闭该BufWrite事件.
或者,您也可以在autocmd周围添加条件:
au BufWrite * if ! exists('g:no_autoformat') && index(blacklist, &ft) < 0 | :Autoformat
Run Code Online (Sandbox Code Playgroud)
这将使您能够选择性地禁用该特定的autocmd通过:let g:no_autoformat = 1.
PS:你:autocmd错过了收盘| endif.