vim全局替换命令
vim全局替换命令
语法为 :[addr]s/源字符串/目的字符串/[option]
全局替换命令为::%s/源字符串/目的字符串/g
如:“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
如: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$
vim全局替换命令的更多相关文章
- vim 全局替换命令
语法 :[addr]s/源字符串/目的字符串/[option] :%s/源字符串/目的字符串/c 全局替换命令为: :%s/源字符串/目的字符串/g [add ...
- vim全局替换命令-乾颐堂
语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20” :表示从第1行到2 ...
- vim中替换命令
在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的 ...
- vim 中替换命令
vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...
- vi/vim 查找替换命令
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- vim全局替换
:1,$ s/cmss_//g 1,$代表第一行到最后一行 s代表替换 cmss_为要替换的内容 替换为空格,所以直接// g代表全局替换
- vim之替换命令
格式:<range>s /<pat1>/<pat2>/gc <range>用来指定替换命令执行的范围: 百分号(%)表示所有行 点(.)表示当前行 美元 ...
- vim 全局替换
:%s/foo/bar/g 把全部foo替换为bar,全局替换
- Vim 字符串替换命令
命令模式下输入如下命令可实现替换: s/str1/str2/ 替换当前行第一个 str1 为 str2 s/str1/str2/g 替换当前行中所有的 str1 为 str2 m,ns/str1/st ...
随机推荐
- function返回值Python特殊语法:filter、map、reduce、lambda
废话就不多说了,开始... Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item顺次 ...
- Facebook开源的基于SQL的操作系统检测和监控框架:osquery
osquery简介 osquery是一款由facebook开源的,面向OSX和Linux的操作系统检测框架. osquery顾名思义,就是query os,允许通过使用SQL的方式来获取操作系统的数据 ...
- 不惧面试:HTTP协议(1) - 基础扫盲
v博客前言 先交代下背景,之前在一家公司面试.NET开发,去了先是做一份笔试题,有一半是关于HTTP协议的,技术总监直接面试,也是问一大堆HTTP协议的知识点,可能跟该公司的产品有关,该公司属于互联网 ...
- JAVA多线程实现的两种方式
java多线程实现方式主要有两种:继承Thread类.实现Runnable接口 1.继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了 ...
- cornerstone the working copy is locked due to a previous文件lock解决办法
解决方法: 1,首先要将隐藏文件显示出来 2,找到lock的所在目录,找到.svn/lock 文件,将其删除即可
- 【.NET】SQL链接字符串
第一种:OLE DB或OleDbConnection (.NET)方式 (使用SQL Server的Microsoft OLE DB提供程序)Provider=sqloledb; Data Sourc ...
- SwiftyUserDefaults-封装系统本地化的框架
// // ViewController.swift // Test4SwiftyUserDefaults // // Created by 马玉龙 on 2017/1/14. // Copyrigh ...
- centos 6.5 安装mysql 5.6错误
yum list libaio yum install libaio.i686 yum list glibc* yum install glibc.i686 yum list libstdc++* y ...
- mac安装lavaral
1,安装composer # brew install josegonzalez/php/composer
- Chapter 2 Open Book——35
Mr. Banner called the class to order then, and I turned with relief to listen. Banner先生让大家安静听他说,然后我静 ...