首页 > 技术文章 > vi中将tab键转化为空格

you-jia 2014-12-16 14:46 原文

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。

推荐阅读