分类:
2010-09-02 11:12:43
按v进入visual状态,选择多行,按住shift同时用>或<缩进或缩出
1,开始行 ma
2,移动到结束行
3,>'a 缩进一个tab,
如果要缩进多个则:'a,. >>... 一个>代表一个tab,自己数
< 往左 >往右
对于c语言,我最常用的还是cb,(indent好像不错,但是好像只能基于文件)
在vi下
从函数开始处ma,光标挪到结束处
:'a,. !cb -s
如果你不喜欢tab键,一般情况可以
:'a,. !cb -s | expand -t4
我说一般情况,指在literal的字符串没有tab字符。一般这样的情况到不是很多。-t4表示tab扩展成四个空格,4可以换成其他的数字。
想gnu的很多缩进就是2个字符,就可以用expand -t2。
---------------------------------------------------------
1.如何缩进多行?比如把某几行缩进4个空格?
到你需要缩进的第一行最前面,按Ctrl-v,接着按j到需要缩进的最下面一行,再按大写的I(插入),再按四次空格键,最后按Esc,搞定。
如果只是要正常缩进,gg=G,搞定,或者用v选择要缩进的区域,按=。
2.vi怎样进行块注释?
a.插入注释:
用v进入virtual模式
用上下键选中需要注释的行数
按Control+v进入列模式
按大些“I”进入插入模式,输入注释符“#”,然后立刻按下ESC
b.删除注释
先按Control+v进入列模式
按光标键选中需要删除的注释符
按x键删除
3.如何用vi 复制第5行到第10行并粘贴到第12行之后?
a.光标放到第五行,
输入:y6y
光标放到第12行,
输入:p
b.命令行模式下输入
:5,10 co 12
c.延伸一下, 有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c
把 co 改成 m 就成剪切了
4.一次多行删除