其他分享
首页 > 其他分享> > vim替换

vim替换

作者:互联网

替换

本段落中设待替换的内容为xxx,替换后的内容为hhh。

# g:对一行中所有的xxx进行替换;s:表示作用于指定的行;%s:表示作用于所有行
# .:表示当前行,$:表示最后一行
# 其中所有的/都可以换为#或者+,但是在单个最短指令中要统一。比如g/xxx/ s//hhh/g可以写为:g/xxx/ s##hhh#g 、g+xxx+ s//hhh/g 、 g#xxx# s++hhh+g等形式。因为实质上,g/xxx/ s//hhh/g相等于两条指令,g/xxx/和s//hhh/g。其中,g/xxx/表示列出有xxx的行,s//hhh/g表示替换g/xxx/命令查找到的内容。

# 对指定行进行替换
[start_line:缺省值为当前光标所在行][,][end_line:缺省值为当前光标所在行]s/[最近一次查找操作查找的内容,比如g/xxx/中的xxx或者/ok中的ok]/[没有内容就是用空值覆盖]/[g]
s/xxx/hhh/  =  .s/xxx/hhh/			 将光标所在行的第一个xxx替换为hhh
s/xxx/hhh/g							将光标所在行的所有xxx替换为hhh
2s/xxx/hhh/							将第二行的第一个xxx替换为hhh
$s/xxx/hhh/							将最后一行的第一个xxx替换为hhh
2,6s/xxx/hhh/						将第二行到第六行中每一行的第一个xxx替换为hhh
.,6s/xxx/hhh/  =  ,6s/xxx/hhh/				
2,.s/xxx/hhh/  =  2,s/xxx/hhh/
2,$s/xxx/hhh/
.,$s/xxx/hhh/

# 对所有行进行替换
%s/xxx/hhh							将所有行中每行第一个xxx替换为hhh
%s/xxx/hhh/g						将文中所有的xxx替换为hhh

# 另辟蹊径
[g]/[查找的内容]/[这里可以有空格,也可以没有]s//[替换后的内容]/[g]
# 下面注释掉的两行好像有点问题
# /xxx/s//hhh/						将光标所在行中第一个xxx替换为hhh
# /xxx/s//hhh/g						将标所在行中的所有xxx替换为hhh
g/xxx/ s//hhh/						将所有行中每行第一个xxx替换为hhh
g/xxx/ s//hhh/g						将文中所有的xxx替换为hhh

标签:行中,xxx,vim,所有,hhh,替换,光标
来源: https://www.cnblogs.com/sober-orange/p/vim-replace.html