Vi中程序的缩进

From Yefu's notes
Jump to: navigation, search

转载自这里

1.首先设置自动缩进
:set cindent
作用:包含了自动缩进等一系列常用缩进组合。
2.打开smartindent选项的话, 每一个开花括号之后都会增加一级的
缩进, 而在对应的闭花括号之后再撤去这一级的缩进. 此外, 也会在遇
到cinwords选项中列出的词时增加一级缩进. 以符号#开始的行也会被
特殊对待: 不使用任何缩进. 这样所有的预处理器指示器就都从第1列开
始. 下一行又会恢复在此之前的缩进量
3.如果你使用autoindent或smartindent得到了前一行的缩进量,
很可能这个缩进量不是你刚好想要的. 一个快速增减当前缩进量的办法
是在Insert模式下使用CTRL-D和CTRL-T.
4.如果你正在接手一些缩进格式相当糟糕的代码, 或者要在已有的
代码里增删修补时. 或许你会想重新对这些代码的缩进进行整理. 使
用"=" 操作符命令, 最简单的形式是:
==   重新为当前行进行适当的缩进
=a{  是有最用的--它选择的对象是当前的fg程序块.
gg=G 重新为整个文件进行缩进:
 
 
    比如有以下排列不整齐的代码:
    代码1
    if (flag) {
        test1=0;
    test2=0;
        flag=0;
    test4=0;
    test5=0;
    }
    1。排列整齐test2=0;。
    首先将光标移动到这一行,按下“=”键,再任意方向移动光标即可。
    如代码2:
    if (flag) {
        test1=0;
        test2=0;
        flag=0;
    test4=0;
    test5=0;
    }
    2。排列整齐
    test4=0;
    test5=0;。
    将光标移动到{}之间,按下“=a{”即可。
    if (flag) {
        test1=0;
        test2=0;
        flag=0;
        test4=0;
        test5=0;
    }
    2。排列整个程序用“gg=G”