您的位置:首页 > 其它

空格和tab键的vi 转换

2016-03-24 10:25 274 查看
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。

1. 基本的替换

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: