Vim:用带参数的命令覆盖equalprg

时间:2017-03-30 09:23:07

标签: c++ c vim clang-format

我想使用我自己的C / C ++文件样式表覆盖带有clang格式的= vim运算符: 这个想法是在vim内部clang-format -i -style=~/.my_own_clang_format_config

我尝试了以下命令但没有成功: (来自Ansi C support in Vim):set equalprg=clang-format - >不采取任何缩进

set equalprg="clang-format -style='~/.my_own_clang_format_config'" - > echom& equalprg返回一个空字符串

set equalprg='clang-format -i -style=~/.my_own_clang_format_config' - >未知选项:-i

我还尝试在=之后添加一些shellescape但是它没有被解释......任何想法?

[编辑]:-style='.my_own_clang_format_config'不是clang格式的有效选项。我不得不使用以下选项: clang-format -style='file'并在我的文件夹(或项目的根文件夹)中添加我的自定义.clang_format,以使其在没有vim的情况下正常工作。

1 个答案:

答案 0 :(得分:2)

你需要的只是逃避空格,因为这会干扰在vim命令行模式下调用命令。

set equalprg=clang-format\ -i\ -style='~/.my_own_clang_format_config'

编辑:空格用于确定被调用命令的多个参数,在本例中为:set。转义它们使VIM能够将后者解释为分配vim选项equalprg的单个连贯语句。