c - 如何使用 vim 在 bufferRead 上智能地运行缩进

标签 c vim

我想对在 vim 中打开的每个 .c 和 .h 文件运行缩进。我已经考虑过设置 equalprg,但我宁愿在打开缓冲区时为我完成它,所以我尝试了:

autocmd BufReadPost *.[ch] '[,']!indent

如果文件没有语法错误,这可以正常工作,但如果我缺少右大括号,则会从缩进中向文件中喷出错误消息。我之前没有用插件做过任何事情。我最好写一个 ftplugin 吗?我不介意错误时静默失败,但在这种情况下文件应该保持原始状态。非常感谢任何提示。

最佳答案

如果你想使用 GNU 缩进。听起来你想要类似的东西:

autocmd BufReadPost *.[ch] silent !indent "%"
set autoread

(也未经测试):-)

关于c - 如何使用 vim 在 bufferRead 上智能地运行缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1684681/

相关文章:

c - 当我将 bool new_block 设置为 FALSE 时,代码不执行任何操作 (C)

c - c函数的汇编代码

git - 为什么 git mergetool 在 vi​​mdiff 中打开 4 个窗口? (我希望 3)

c - 如何以可移植的方式在 C 中执行算术右移?

C:从函数外部访问指针

vim - 当我在命令行中输入时如何让 Vim 使用绝对行号,否则如何使用相对行号?

vim - 有没有办法在 netrw 列表中将光标放在文件上时自动预览文件?

vim - 如何使用vim根据正则表达式删除文件中的文本

vim - 如何让 Vim Ex 命令模式范围从当前行开始搜索?

c++ - 我无法使用指针更改整数的值