Vim 替换命令
一,":substitute"的使用
:substitute 命令可以对一个指定范围的区域执行替换操作,可以简写为:s ,它的通用形式如下:
:[range]substitute/from/to/[flags] 该命令是有[range]指定范围中字符串"from"替换为"to";
例如文本的每一行中第一次出现"linux"替换为"FreeBSD":
:%s/linux/FreeBSD/ 注意:这里最后面没有加上标记,针对的是每行第一次出现的目标字符串
其中%为指定范围的所有行,如不指定返回,:s 就是作用与当前行;
默认情况下:s命令只会替换一行中第一次发现的目标字符串,要改变一行中的所有符合的字符串,可以在命令后加"g"标记来修饰;
:%s/linux/FreeBSD/g 后面加上个g才代表改变每一行所有符合的目标字符串;
其他标记符还有p(列印),c(确定)标记告诉:substitute命令要执行每个替换前请求用户确定;
如:
:%s/linux/FreeBSD/gc 全文内容linux替换成FreeBSD时都提示请求用户确定;
目标字符串from可以是任意合法的正则表达式,与搜索命令的所用的正则表达式一样;如:
:s/^linux/FreeBSD/
二,作用范围
:1,5s/this/that 作用范围为1至5行;
:8s/this/that 作用范围为第8行;
:.s/this/that 作用范围为当前行,可以省略,要使作用于当前行在命令前面加.
:1,$s/this/that 作用于所有行;
:w 这些命令可以不指定范围,针对的是整个文件
:%s 作用于所有行,等同于1,$
:.+3,$-5 作用范围从当前行其下的第3行,到倒数第6行;
:'s,'e 使用标记来指定的范围,ms标记范围的开始,me指定范围的结束;
:'<,'> 可视模式下的范围,在选定范围后按:自动出现'<,'>范围,不用自己输入;
三,标识符[flags]
g 作用于所有文件内容;
c c(确定)标记告诉:substitute命令要执行每个替换前请求用户确定;
p p(列印);
Vim 替换命令的更多相关文章
- vim替换命令
转载:http://blog.csdn.net/glorin/article/details/6317098 替換(substitute) :[range]s/pattern/string/[c,e, ...
- 【转】vim替换命令
vim替换命令 free:此文后面涉及了正则表达式,随便看了一下,觉得正则表达式有时间学一学对于在Linux下操作也是方便许多 替換(substitute) :[range]s/pattern/str ...
- Linux vi/vim替换命令的使用说明[转]
vi/vim 中可以使用 :s 命令来替换字符串.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n, ...
- Vim——替换命令
原创声明:本文系博主原创文章,转载或引用请注明出处. 1. 文本替换 #替换每一行的第一个a :%s/a/b/ #全部替换 :%s/a/b/g #替换/时需要转义"\/" 2. ...
- Linux vim替换命令
#替换每一行的第一个a:%s/a/b/#全部替换:%s/a/b/g#替换/时需要转义"\/"
- vim 替换
摘自: vim替换命令 替換(substitute) :[range]s/pattern/string/[c,e,g,i] range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後 ...
- Vim global命令和重复操作
Vim global命令和重复操作 Vim global命令允许我们在某个指定模式的所有匹配行上运行可执行的 Ex 命令,缩写形式为 :g,其处理重复工作的效率极高. 一.Vim global命令介绍 ...
- vim中替换命令
在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的 ...
- vim替换及多行注释命令
1.多行注释: . 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来 . 按大写字母I,再插入注释符,例如// . 按esc键就 ...
随机推荐
- DirectorySearcher LDAP
1.从LDAP服务器上面获取用户名 sAMAccountName是个人的CN结点中的一个属性,例如个人的CN的sAMAccountName的值为:Amy.我命名它为shortname,即短名 publ ...
- jsp页面用java代码取随机数
<%int seconds = (int) (System.currentTimeMillis() / 1000); %> 然后在需要随机数的地方加上下面的代码: <input na ...
- macbook 下SDK Manager 的更新[即使Google被屏蔽了也无所谓]
废话少说,直接说操作步骤: 1. 改动/etc/hosts文件: 右键单击Finder,选择前往目录,输入/private/etc/,敲回车键.将文件/etc/hosts复制到桌面(由于权限受限.无法 ...
- synchronized 锁优化
synchronized 在jdk 1.7之前是重量级锁,独占锁,非公平锁.jdk1.7之后,synchronized引入了 偏向锁,自旋锁,轻量级锁,重量级锁 自旋锁 当线程在获取锁的时候,如果发现 ...
- oracle浅析导致数据库性能问题的常见原因
㈠ 不合理的大表全表扫描 详见:点击打开链接 v$session_longops视图记录了超过6秒的所有SQL语句 这其中绝大部是全表扫描的语句! ㈡ 语句共享性不好 常出没在OLTP, ...
- 将Xcode升级到10.0以上版本,Appium启动报错的问题
前言 现在的Xcode最新版本都是在10.1,原先使用的版本是9.4.1!结果今天手贱将其升级... 然后,跑IOS自动化时,出现“Xcode version '0.1'. Support for X ...
- 小图拼接大图MATLAB实现
小图拼接大图MATLAB实现 1.实现效果图 原图 效果图 2.代码 files = dir(fullfile('D:\document\GitHub\homework\digital image p ...
- 嵌入式开发之davinci--- 8148/8168/8127 中的High-DefinitionVideo Processing Subsystem (HDVPSS)
High-DefinitionVideo Processing Subsystem (HDVPSS) 这一章介绍了高清视频处理子系统(HDVPSS). 2.1导论 2.1.1 简介 HDVPSS 使用 ...
- Shiro 认证失败返回JSON
Shiro框架默认认证失败后会返回到登录页面,在前后端分离项目中,需要返回JSON数据,以便前端或者app端解析处理. 实现方式: 1. 扩展shiro框架的UserFilter类,重写redirec ...
- html5中form表单新增属性以及改良的input标签元素的种类
在HTML5中,表单新增了一些属性,input标签也有了更多的type类型,有些实现了js才能实现的特效,但目前有些浏览器不能全部支持.下面是一些h5在表单和input标签上的一些改动. <!D ...