s命令用法
:[[.n],$][%]s/pattern/string/[g]
//for example, 47到52行中符合patter的匹配全替换成string
:47,52s/pattern/string/g
将匹配pattern的字符串替换成string字符串。
.,$
表示当前行到最后一行;
n,$
表示n行到最后一行;
%
表示所有行;
s
表示替换命令;
/
分隔符
pattern
表示要被替换的字符串;※可以使用正则表达式
string
表示要替换的字符串;
g
表示替换某一行中的所有匹配;
1. 删除所有行的行尾空格
:%s/[ ]\+$//
[ ]\+$
为在行尾匹配一个以上的空格
2. 向非#开头的行添加#
:%s/^\([^#]\)/#\1/
^\([^#]\)
在行首匹配非#字符
\1
为\([^#]\)
的匹配结果
3. 向非空行尾添加;
:%s/\(\S\)$/\1;/
\(\S\)$
在行尾匹配何非空白字符
\1
为\(\S\)
的匹配结果
4. 向非空行首添加//
:%s/^\(\S\)/\/\/\1/
^\(\S\)
在行首匹配何非空白字符
\1
为\(\S\)
的匹配结果
5. 统计字符串的匹配结果的个数
:s/pattern//ng
pattern
为匹配规则。
在 当前行 范围内统计匹配结果的个数。
:%s/pattern//ng
pattern
为匹配规则。
在 当前文件 范围内统计匹配结果的个数
6. faster and enjoy vim
viw
select a word
vit
select the content in ><
vi'
selete the content in ‘’
de
delete chars from cursor position to the end of a word
dw
delete chars from cursor position to the space after a word
db
delete chars from cursor position to the start of a word
dt'
delete chars from cursor position to the char before char ’