vi中将tab键转化为空格

摘抄自:http://blog.csdn.net/chaihuasong/article/details/51152253

tab键和空格键之间的转换始终是个问题,比如Makefile中,应该用tab键的地方替换成空格,就会出问题。 
然而在Python代码中,由于其严格要求的缩进格式,不可见的空格和tab键之间的转换同样会造成麻烦。在UltraEdit里,我们可以定义tab键转换为若干个空格字符来满足自已的要求。在linux下的vi中呢? 
linux下的vi一般是vim的链接,我们在用户主目录下创建.vimrc文件: 
set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格) 
set expandtab

对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:

TAB替换为空格: 
:set ts=4 
:set expandtab 
:%retab!

空格替换为TAB: 
:set ts=4 
:set noexpandtab 
:%retab!

加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。

原文地址:https://www.cnblogs.com/jingbostar/p/6699717.html