vi中删除空格

删除文件中空行

:%g/^$/d
:%g/^\s\+$/d

:%g/^\s*$/d    // 删除所有的使用这个就好

删除文件行首的所有空格

:%s/^ *//g

删除文件行尾的所有空格

:%s/ *$//g

删除文件行首的所有空格+TAB

:%s/^\s\+//g
or
:%s/^\s*//g

删除文件行尾的所有空格+TAB

:%s/\s\+$//g
or
:%s/\s\*$//g

将当前文件中的TAB,替换成4个空格

:set expandtab
:%ret! 4

TAB转换4个空格,写入vimrc 中,永久生效

set tabstop=4
set expandtab

空格转换为TAB

:set ts=4
:set noexpandtab
:%retab!

空格:\s
ts == tabstop

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


指定范围行的前面加 3 个空格

:100,102 s/^/   /

在当前光标所在行,及下面5行的前面写入xxx

:.,5 s/^/xxx/