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

Vim : Override equalprg with a command with argument

本文关键字:命令 覆盖 equalprg 参数 Vim      更新时间:2023-10-16

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

我尝试了以下命令但没有成功:(来自 Vim 中的 Ansi C 支持(: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 的情况下工作。

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

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

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