vim全局替换命令

语法为 : [addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g

[addr] 表示检索范围,省略时表示当前行。

如:1,20” :表示从第1行到20行;
%” :表示整个文件,同“1,$”;
. ,$” :从当前行到文件尾;
s : 表示替换操作

[option] : 表示操作类型

如:g 表示全局替换;
c表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义

下面是一些例子:

#将That or this 换成 This or that

:%s/\(That\) or \(this\)/\u\2 or \l\1/

#将句尾的child换成children

:%s/child\([ ,.;!:?]\)/children\1/g

#将mgi/r/abox换成mgi/r/asquare

:g/mg\([ira]\)box/s//mg//my\1square/g<=>:g/mg[ira]box/s/box/square/g

#将多个空格换成一个空格

:%s/ */ /g

#使用空格替换句号或者冒号后面的一个或者多个空格

:%s/\([:.]\) */\1 /g

#删除所有空行

:g/^$/d

#删除所有的空白行和空行

:g/^[ ][ ]*$/d

#在每行的开始插入两个空白

:%s/^/> /

#在接下来的6行末尾加入.

:.,5/$/./

#颠倒文件的行序

:g/.*/m0O <=> :g/^/m0O

#寻找不是数字的开始行,并将其移到文件尾部

:g!/^[0-9]/m$ <=> g/^[^0-9]/m$

#将文件的第12到17行内容复制10词放到当前文件的尾部

:1,10g/^/12,17t$
~~~~重复次数的作用

#将chapter开始行下面的第二行的内容写道begin文件中

:g/^chapter/.+2w>>begin

:/^part2/,/^part3/g/^chapter/.+2w>>begin

:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t\$

时间: 2024-09-08 18:59:26

vim全局替换命令的相关文章

vim替换命令为何是用\r

问题描述 vim替换命令为何是用 为何我在linux下用vim的替换命令匹配的时候换行要用 ,而替换时要用 啊 解决方案 vim替换命令vim 替换命令vim替换命令 解决方案二: 按理说都是 才对,你的文件是不是在windows记事本中编辑过?

【不积跬步,无以致千里】VIM查找替换归纳总结zz

http://spaces.msn.com/dingy/blog/cns!2F24B9E66A542581!327.entry VIM中常用的替换模式总结. 1,简单替换表达式 替换命令可以在全文中用一个单词替换另一个单词: :%s/four/4/g   "%" 范围前缀表示在所有行中执行替换.最后的 "g" 标记表示替换行中的所有匹配点.如果仅仅对当前行进行操作,那么只要去掉%即可   如果你有一个象 "thirtyfour" 这样的单词,上面

vim查找/替换字符串【转】

转自:http://www.cnblogs.com/GODYCA/archive/2013/02/22/2922840.html vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky    :s/vivian/sky/g 替换当前行所有 vivian 为 sky    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行

Linux系统中vim工具常用命令大全

  在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令. 移动命令 h "左j "下k "上l "右w "光标移动到下一个单词的首字符 a word forwardb "光标移动到上一个单词的首字符

用JavaScript实现全局替换,解决$等特殊符号的难题[_正则表达式

感谢海浪提供的正则,原贴请参见: http://www.iecn.net/bbs/view/106503.html 因为要做个模板替换的东西,里面的变量采用${MyName}这种格式的命名方式.在进行全局替换时,遇到两个难点: 1.要么无法替换掉$等特殊符号 2.要么无法忽略大小写 在海浪有帮助下,终于有了最佳实现方式:) 最佳实现方式: 复制代码 代码如下: <script type="text/javascript">  String.prototype.replace

Linux下Vim工具常用命令

原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令. 移动命令 h "左 j "下 k "上 l "右 w &

用JavaScript实现全局替换,解决$等特殊符号的难题[

感谢海浪提供的正则,原贴请参见: http://www.iecn.net/bbs/view/106503.html 因为要做个模板替换的东西,里面的变量采用${MyName}这种格式的命名方式.在进行全局替换时,遇到两个难点: 1.要么无法替换掉$等特殊符号 2.要么无法忽略大小写 在海浪有帮助下,终于有了最佳实现方式:) 最佳实现方式: 复制代码 代码如下:<script type="text/javascript">  String.prototype.replaceA

远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置

2.1.远程拷贝 (将/export/servers/hadoop上的文件拷贝到bigdate@192.168.1.1:/export/servers/ ) scp –r /export/servers/hadoop bigdate@192.168.1.1:/export/servers/  上面的意思是说将 /export/servers/hadoop 拷贝到192.168.1.1这台服务器下的bigdate用户下的/export/servers/这个文件夹下 2.2.查看端口 netstat

ubuntu vim终端编辑命令

一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示   :syntax enable   :source $VIMRUNTIME/syntax/php.vim   二. VI常用命令 _______________________________________________________ 一般模式                           光标移动 ___________________________________________________