vim中的替换

Vim可以在尾行模式下使用:substitute命令将指定的字符串替换成其他目标字符串。

通常我们可以使用该命令的缩写格式:s进行来进行vim字符串替换操作

一、Vim替换字符串命令的语法

Vim替换字符串命令的基本语法是 :[range]s/目标字符串/替换字符串/[option],其中range和option字段都可以缺省不填。

下面介绍VIM替换字符串各个变量的含义:

range:表示搜索范围,默认表示当前行;

  range字段值1,10表示从第1到第10行;

  %表示整个文件(相当于1,$);

  而.,$代表从当前行到本文件的末尾

s:substitute的简写,表示执行替换字符串操作;

option:表示操作类型,默认只对第一个匹配的字符进行替换;

option字段值g(global)表示全局替换;

c(comfirm)表示操作时需要确认;

i(ignorecase)表示不区分大小写;

vim替换字符串的这些选项可以组合使用

二、Vim替换命令举例

vim全局替换命令并要求对替换字符串命令进行确认操作

将所有的Vim字符串替换为vim字符串

1,$s/Vim/vim/gc 会出现提示”replace with foo(y/n/a/q/l/^E/^Y)?”,询问是否确认执行

待选择操作的含义包括:

y:确认执行这个替换将将所有Vim替换成vim;

n:取消这个本交Vim替换命令的操作;

a:执行本次所有替换字符串操作且不再询问;

q:退出当前vim字符串替换操作而不做任何改动;

l:替换完当前匹配点后退出(last)

Ctrl + E:向上翻滚一行

Ctrl + Y:向下翻滚一行

2 将光标所在行出现的所有包含line的字符串中line替换为lines

:s/line/lines/g表示将光标所在当前行的line全局替换为lines

3将从2行到10行中出现的所有包含line的字符串中的line替换为lines

:2,10s/line/lines/g表示将2~3行的line全局替换为lines

4。全文的行首加入//字符,批量注释时非常有用

:%s/^/\/\//表示在全文范围行首替换插入//,注意在Vim中需要将/进行转义后才可以替换

5.将所有行尾多余的空格删除

:%s= *$==表示全局替换行尾的一个或多个空格,更多正则表达式的说明可以参考Vim正则表达式



作者:i林筱程
链接:https://www.jianshu.com/p/0175bed4092d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/qq_42533216/article/details/112425805