今天就跟大家聊聊有关Vim中的替换命令是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Vim可以利用:substitute
命令将指定的字符替换成其他字符,通常使用命令的缩写格式:s
。借用正则表达式则可以实现更为丰富的替换功能,基本语法是:
:[range]s/源字符串/目标字符串/[option]
range和option是可以缺省不填的,各个字段的意思是:
range:代表检索范围,默认缺省表示当前行检索,1,10
表示从第1到第10行,%
代表整个文件,等价于1,$
,而.,$
代表从当前行到文件末尾
s:substitute的简写,代表替换
option:代表操作类型,默认缺省只对第一个匹配的字符进行替换,g(global)全局替换,c(comfirm)操作时确认,i(ignorecase)不区分大小写,这些选项可以组合使用
比如以下命令,将会显示将要做改动的文本并要求确认:
:1,$s/foo/bar/gc replace with foo(y/n/a/q/l/^E/^Y)?
这时你可以选择如下操作:
y Yes:执行这个替换 n No:取消这个替换 a All:执行所有替换而不要再询问 q Quit:退出而不做任何改动 l Last:替换完当前匹配点后退出 CTRL-E 向上翻滚一行 CTRL-Y 向下翻滚一行
1. 将光标所在行出现的所有包含aa的字符串中aa替换为bb
:s/aa/bb/g
2. 将文档中出现的所有包含aa的字符串中的aa 替换为bb
:%s/aa/bb/g
3. 将从12行到23行中出现的所有包含aa的字符串中的aa替换为bb
:12,23s/aa/bb/g
4. 全文的行首加入 # 字符,在Python中批量注释的时候非常有用
:%s/^/#/
5. 将所有行尾多余的空格删除
:%s= *$==
6. 删除所有的空行, 这里的g表示对文章中所有符合要求字符串执行替换操作,^表示行首,$表示行尾
:g/^$/d
看完上述内容,你们对Vim中的替换命令是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。