Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365584
  • 博文数量: 56
  • 博客积分: 2721
  • 博客等级: 中校
  • 技术积分: 460
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-29 16:18
文章分类

全部博文(56)

文章存档

2014年(1)

2011年(15)

2010年(5)

2008年(35)

分类: LINUX

2008-08-21 14:56:06

1.tabstop (ts-数值型): 设定文件中制表位占的空格个数,默认是8
   :set ts=4     (表示一个插入一个占4个空格位)
 
 
 
 2.expandtab (et-布尔型): 插入时使用相应数量的空格,而不用制表位,默认关闭
   :set ts=10 et     (此时插入一个tab时,真正插入的是10个空格)
   注: 当'et'打开,要插入实际的制表位,需用CTRL-V,win下加载了mswin.vim插件的用CTRL-Q
 
 
 
 3.softtabstop (sts-数值型): 当插入一个时,若'ts'值大于'sts',则此时就插入'sts'值那么多空格;
   而当'ts'值小于'sts',则此时就插入几个制表位(制表位的个数是'sts'整除'ts'之商)
   和几个空格(空格的个数是'sts'整除'ts'之余数),默认是0,表示关闭
   :set ts=8 sts=6   (此时插入一个,就会插入6个空格;若连续插入两个,则会插入一个制表位和4个空格)
                    在此设置下这样输入: 一个,3个空格,一个,大家想想实际会输入什么?
   :set ts=3 sts=8   (此时插入一个,就会插入2个制表位和2个空格)
 
 
 
 4.retab (ret-ex下的命令,前面3个是选项): 把制表位和空格组成的连续序列替换成新的制表位或空格
   格式是   :[range]ret[!] [ts值]   (不是指定range,默认是全文;不指定'ts'值,就用原来的'ts'值)
  
   (1) 当'et'为关闭状态时,retab会尽量把由"制表位和空格组成的连续空白序列"替换成尽可能多的制表位,如:
   有一个连续"空白序列"是由: 3个空格,两个制表位,5个空格组成,这时设置如下命令
   :ret 6    (原来的"空白序列"变为由: 3个制表位,2个空格组成的新的"空白序列")
   (2) 当'et'为开启状态时,retab会把所有的制表位换成当前'ts
   (3) :ret! 命令则会把纯粹由空格组成的"空白序列"强制替换为尽可能多的制表位加空格
   注:retab命令对文本的处理,不会引起视觉上的变化
 
 
 
 5.smarttab (sta-布尔型): 它确定行首插入时的情况,它跟选项'shiftwidth'(sw)相关联,默认关闭.
   :set sta   (则若行首插入一个,会根据'sw'的值来插入"空白序列",其余的地方还是插入一个制表位;
               而这里的"空白序列"是由什么组成,是由'sw','ts'值的相对大小,以及是否开启了'et'决定的.
               若'sw'小于'ts'的值,且'et'是关闭的,则行首插入一个就直接插入'sw'值所代表的空格数;
               若'sw'大于'ts'的值,且'et'是关闭的,则行首插入一个就插入尽可能多的制表位加空格;
               若'et'是开启的,若行首插入一个就直接插入'sw'值所代表的空格数
 
   注:选项'sw'只用于normal下的左右移动命令: > , >> , < , <<
 
 
 
 ************************ 说  明 *********************************
 *                                                                                             
 * (a) 文中的表示动作:敲击键盘上的Tab制表键(位于Q键左边),
 *     而文中的"制表位"表示前面那个动作后的输入;                         
 * (b) 为了便于制表位和空格的区分,也就是让它们成为"可见"模式:       
 *     :set list                                                                             
 *     :set lcs=eol:&,tab<+                                                        
 *     这样每行结尾有字符"&",制表位若是4,则为:<+++ ,                  
 *     而若制表位是8,则为:<+++++++                                        
 * (c) 在插入模式下可以删除整个'sts'和'sta'下的'sw'    
 *     但象normal下"x"这样的命令就只能删除真正的制表位和空格       
 *                                                                                              
 *****************************************************************
阅读(2541) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~