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

Vim : Override equalprg with a command with argument

我想用我自己的风格 sheet 为 C/C++ 文件覆盖 clang 格式的 = vim 运算符: 这个思路是在vim.

里面做一个clang-format -i -style=~/.my_own_clang_format_config

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

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

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.

的情况下工作

您只需要转义空格,因为这会干扰在 vim 命令行模式下调用命令。

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

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

的单个连贯语句