vim的tab键设定

多在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等价于a=8个空格,所以不能插入\t,只能插入3个空格,但是连按3下tab键,应该插入9个空格,这时不会插入9个空格,而是插入一个\t和一个空格。

1 set shiftwidth=c

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

原文地址:https://www.cnblogs.com/flyor/p/6408097.html