Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim中的条件缩进_Vim - Fatal编程技术网

Vim中的条件缩进

Vim中的条件缩进,vim,Vim,如果在前一行中满足条件(即包含字符串),我将如何分配自己的缩进边距? 例如if语句中的一个空格缩进。提前谢谢 输入: `int main(int argc,字符**argv){ 如果(argc!=1) 返回(2) printf(“\n”); }` 输出:(使用g/if/normal j>>) 每回油管向右移动一次 产出:(预期) printf(“\n”); } 换句话说,定位应该是相对于字符串的,而不是它以前的位置。再次感谢您的努力@kev使用以下命令自动缩进C源文件: :set syn=cpp

如果在前一行中满足条件(即包含字符串),我将如何分配自己的缩进边距? 例如if语句中的一个空格缩进。提前谢谢

输入:

`int main(int argc,字符**argv){

如果(argc!=1) 返回(2)

printf(“\n”);
}`

输出:(使用g/if/normal j>>) 每回油管向右移动一次

产出:(预期)

printf(“\n”); }


换句话说,定位应该是相对于字符串的,而不是它以前的位置。再次感谢您的努力@kev

使用以下命令自动缩进C源文件:

:set syn=cpp
gg=G

您需要创建一个缩进函数

我以前使用过以下引用。

您还可以在vim安装的indent文件夹中查找示例

关于Max-OS-X

/usr/share/vim/vim73/indent

这是一个很好的指导方针,但我认为它没有我需要的那么可靠。似乎从当前缩进中移动下一行。我的问题是在if的位置之后移动一行,不管行的位置是什么。@angelobodas:你会发布一个示例(输入和输出)吗?无法在注释中缩进代码,所以我不得不重新编辑这个问题。这将全局应用缩进,即使是与字符串不匹配的行。假设你有一个if语句,它将按预期缩进,一个for循环也将缩进,这不是我们想要的。投票通过,因为它可以帮助回答或指导相关问题。
:set syn=cpp
:help indentexpr
/usr/share/vim/vim73/indent