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