我希望将源代码格式化程序Uncrustify与Vim 集成.以下两个选项中的任何一个都足够了.
gq按下时).选项1是优选的.我试过了
set formatprg=uncrustify\ -c ~/misc/uncrustify.cfg --no-backup
Run Code Online (Sandbox Code Playgroud)
即我用命令行选项调用Uncrustify.这不起作用.Vi给出了E518: Unknown option: ~/misc/uncrustify.cfg错误.
对于选项2,我在vimrc文件中尝试了以下内容
autocmd bufwritepost *.cpp ! ~/bin/uncrustify -c ~/misc/uncrustify.cfg --no-backup <afile>
Run Code Online (Sandbox Code Playgroud)
保存后文件格式化,但我必须手动将文件重新加载到Vim中.
您是否尝试过转义空格:
:set formatprg=uncrustify\ -c\ ~/misc/uncrustify.cfg\ --no-backup
更新
uncrustify向 stderr 打印“Parsing: 170 bytes ...”消息,因此我们需要将其重定向到/dev/null:
:set formatprg=uncrustify\ -c\ ~/misc/uncrustify.cfg\ -l\ CPP\ --no-backup\ 2>/dev/null
gq对行进行操作,因此您可以在可视模式下选择必要的行并执行gq。例如,如果您想重新格式化整个文件,请执行ggVGgq.
更多信息请访问:help gq