我想使用缩进 linux 实用程序在保存时缩进当前文件。我试过了
autocmd BufWritePre *.[ch] :!indent -kr -nut %
在我的 .vimrc 文件 (~/.vim) 中。
我手动尝试了该命令
:!indent -kr -nut %
它仅在提示我加载文件后才能工作,如下所示,
See ":help W12" for more info.
[O]K, (L)oad File:
您不希望BufWritePre
,因为这会在保存文件之前修改文件。相反,请尝试执行BufWritePost
:
autocmd BufWritePost *.[ch] !indent -kr -nut %
这仍然会要求您按回车键,但在我测试文件时它不会提示加载文件。如果您不想在保存后按回车键,可以将其更改为:
autocmd BufWritePost *.[ch] exec "!indent -kr -nut %" | redraw
另外,请注意我是如何从您的命令中删除:
的。这是因为autocmd
查找 ex 命令,因此不需要:
。