VIM,一款自定义程度超乎你想象的IDE利器。在平时开发中,得心应手,无所不可比及。没有你想不到,只有你做不到。。。不对,没有你做不到,只有你想不到的。
然而,为了代码看起来更优雅,通常也是编程的规范,基本上在编写代码时,是不允许有tab字符存在的。所以,在VIM如何配置tab键,将tab键统一替换成空格?
区别
空格的ACSii码:0x20
tab的ACSii码:0x09
这使得在混用两种字符的时候,不同的场景下(比如:vim、浏览器)会呈现不同的长度,看起来很混乱。
配置
打开vim配置文件.vimrc
[code lang=”shell”]
vim ~/.vimrc
[/code]
写入如下内容并保存
[code lang=”shell”]
set expandtab
set tabstop=4
set shiftwidth=4
[/code]
这样一来,试试在vim中敲击tab键的效果,是不是已经替换成4个空格了?
那之前的tab键怎么办?
批量替换tab键为四个空格,在vim的command模式下输入如下内容后敲击回车:
[code lang=”shell”]
:%s/\t/ /g
[/code]
就这么简单?
对,就这么简单。
- shiftwidth
这个代表的是程序中自动缩进的空格长度,同时它也是符号移位长度的制定者。
- tabstop
代表tab键等同于空格的长度,通常来说为8。
- expandtab
允许tab键替换成空格,默认为8个空格。
- softtabstop
如果我们希望改变程序中的缩进怎么办?shiftwidth和tabstop不一样的话,你会发现程序比较难看的。这时候,softtabstop就起作用了。可以从vim的说明中看到,一旦设置了softtabstop的值时,你按下tab键,插入的是空格和tab制表符的混合,具体如何混合取决于你设定的softtabstop,举个例子,如果设定softtabstop=8, 那么按下tab键,插入的就是正常的一个制表符;如果设定 softtabstop=16,那么插入的就是两个制表符;如果softtabstop=12,那么插入的就是一个制表符加上4个空格;如果softtabstop=4呢?那么一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符。换句话说,softtabstop是“逢8空格进1制表符”,前提是你tabstop=8。
这下你了解了么?
参考文章:https://my.oschina.net/uniquejava/blog/222868
原文链接:胡旭博客 》深入IDE利器VIM:tab键的配置
转载请注明出处,违者必究!