使用 vim 自动命令缩进代码



我想使用缩进 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 命令,因此不需要:

相关内容

  • 没有找到相关文章

最新更新