ICode9

精准搜索请尝试: 精确搜索
首页?>?其他分享> 文章详细

Vim替换命令substitute小结-Vim入门教程(10)

2019-09-25 21:43:41??阅读:579??来源: 互联网

标签:表示?10?入门教程?lines?Vim?line?替换?substitute


原文地址:https://vimjc.com/vim-substitute.html。感谢原作者

Vim可以在尾行模式下使用:substitute命令将指定的字符替换成其他目标字符,通常使用该命令的缩写格式:s进行操作

一、Vim替换命令语法

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

各个字段的意思是:

range????表示搜索范围,默认表示当前行
?????????range字段值1,10表示从第1到第10行,%表示整个文件(相当于1,$),而.,$代表从当前行到文件末尾

s????????substitute的简写,表示替换

option???表示操作类型,默认只对第一个匹配的字符进行替换
?????????option字段值g(global)表示全局替换,c(comfirm)表示操作时需要确认,i(ignorecase)表示不区分大小写

?????????这些选项可以组合使用

二、Vim替换命令举例

2.1 全局替换并进行确认


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

待选择操作的含义包括:

y???????????????确认执行这个替换
n???????????????取消这个替换
a???????????????执行所有替换且不再询问
q???????????????退出而不做任何改动
l????????????????替换完当前匹配点后退出(last)
Ctrl + E?????向上翻滚一行
Ctrl + Y?????向下翻滚一行

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

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

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

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

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

:%s/^/\/\//表示在全文范围行首替换插入//,/需要转义

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

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



标签:表示,10,入门教程,lines,Vim,line,替换,substitute

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有