徐鼎 发布的文章

多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示。事实上tab也确实是8个空格的长度。不过由于习惯问题,某些童鞋还是希望在linux上也感受tab键为4个空格长度的显示,因为vi编辑器在linux上是那么地众所周知,所以下面就开始谈如何设定vim编辑器对tab键的显示长度问题。

关于vim对tab键的设定问题,我在网上也查过一些资料,不过大部分都解释的不清楚,只是照着其设定的代码copy一份到配置文件中,对每一行代码具体所起的作用则不甚清楚,本篇章根据国外一篇文章对tab键设定的讲述加之自己亲自在centos7上进行不断尝试进行总结。

1 set tabstop=a
这句话是设置t的长度显示为a个空格长度。

1 set softtabstop=b
这句话是设置在插入(insert)模式下,按下一个tab键后所产生的空白长度为b

1 set expandtab
这句话的作用是将tab所占的空白位用空格填充

小结:

如果设置了expandtab

  当按下tab键时,在源文件中会插入b个空格。

如果没有设置expandtab

  1、假设当a=3,b=8时(a<b),按下tab键要插入b=8个空白位,而一个t所占的空白位为a=3,所以就在源文件中插入两个t和两个空格。

  2、假设当a=8,b=3时(b>a),按下tab键要插入b=3个空白位,由于一个t占8个空白位,所以不能插入t,只能插入3个空格,但是连按3下tab键,应该插入9个空白位,这时不会插入9个空格,而是插入一个t和一个空格。

1 set shiftwidth=c
这句话是用来设置在编辑模式(vim进入后的默认模式)下使用(>>或<<)缩进代码时所占的空白位的长度。