`

vi全局替换命令

 
阅读更多

语法为 :[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$

分享到:
评论

相关推荐

    《学习Vi编辑器(第六版)》.pdf

    这本书将带领读者快速地学习基本的编辑、光标移动以及全局查找与替换操作,然后是更灵活的vi功能,以及如何在vi中使用功能强大的ex行编辑器来提高编辑技巧。为了便于读者参考,本书第六版还在每个相应章节的最后增加...

    学习vi编辑器(第六版)

    Learning.the.VI.Editor.6th ... ◆ 全局查找与替换  ◆ 定制 vi和 ex  ◆ 命令的简化操作  ◆ 介绍vi克隆版本的扩展  ◆ nvi、elvis、vim和vile编辑器  ◆ vi和 ex命令总结  ◆ vi和Internet

    学习vi和vim编辑器

     ·使用vi的全局搜索与替换功能  ·自定义vi,并执行unix的命令  ·使用vim的扩展文本对象以及威力强大的正则表达式  ·执行多窗口编辑,并设计vim脚本  ·充分利用图形化用户界面版的vim,gvim  ·使用vim的...

    学习VI和VIM编辑器第7版中文

    ·使用vi的全局搜索与替换功能 ·自定义vi,并执行Unix的命令 ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    ·使用vi的全局搜索与替换功能 ·自定义vi,并执行Unix的命令 ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化...

    学习vi和vim编辑器_第7版_中文

    ·使用vi的全局搜索与替换功能 ·自定义vi,并执行Unix的命令 ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化...

    Learning the vi and Vim Editors

    你将学到以下内容:, · 高效使用vi, · 深入讲解vi的知识,例如使用缓存, · 使用vi的全局搜索替换功能, · 定制vi以及运行Unix命令.., · 使用Vim的扩展文本对象和强大正则表达式, · 使用多窗口编辑并且编写Vim...

    学习vi编辑器[高清中文]第六版.part1

     这本书将带领读者快速地学习基本的编辑、光标移动以及全局查找与替换操作,然后是更灵活的vi功能,以及如何在vi中使用功能强大的ex行编辑器来提高编辑技巧。为了便于读者参考,本书第六版还在每个相应章节的最后...

    学习vi编辑器[高清中文]第六版.part2

     这本书将带领读者快速地学习基本的编辑、光标移动以及全局查找与替换操作,然后是更灵活的vi功能,以及如何在vi中使用功能强大的ex行编辑器来提高编辑技巧。为了便于读者参考,本书第六版还在每个相应章节的最后...

    vim操作键盘图

    vim各个操作按键在键盘上的分布图,包括保存,退出,打开文件,全局替换等等命令,方便记忆!

    入门学习Linux常用必会60个命令实例详解doc/txt

    umount 命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接...

    最全的oracle常用命令大全.txt

    DEFINE_EDITOR=vi f、运行命令文件 SQL&gt;START test SQL&gt;@test 常用SQL*Plus语句 a、表的创建、修改、删除 创建表的命令格式如下: create table 表名 (列说明列表); 为基表增加新列命令如下: ALTER TABLE ...

    orcale常用命令

    DEFINE_EDITOR=vi f、运行命令文件 SQL&gt;START test SQL&gt;@test 常用SQL*Plus语句 a、表的创建、修改、删除 创建表的命令格式如下: create table 表名 (列说明列表); 为基表增加新列命令如下: ALTER TABLE ...

    Hacking Vim

    2.1全局替换 2.2多文件替换 2.3增加多行注释 2.4 ab技巧 2.5分割窗口功能 2.6改变颜色配置 2.7显示和不显示行号 2.8更好的状态行 2.9光标行和光标列 2.10语言拼写检查 2.11键绑定 2.12定位功能 2.13 自动补全 2.14 ...

    Linux常用的命令。。。。。

    hostname 主机名 /etc/sysconfig/network (里面有全局网关gateway) hostname +主机名 可以立刻改名,但未写入文件中 /etc/hosts 本地域名解析,可以改自己定义的域名 ip 域名(www……..) startx 启动图形界面 ssh...

    Vimium ++「Vimium++」-crx插件

    支持中文,全局命令和注入其他扩展的优化Vimium项目,自Chrome 36以来运行良好。1.63:* FindMode和VisualMode将确保文档处于活动状态时可以选择*始终将父框架对焦并在触摸并保持时显示黄色边框` &lt;esc&gt; *修复有...

    LINUX操作系统(电子教案,参考答案)

    18.2.1 全局设置 295 18.2.2 主服务器设置 297 18.3 虚拟Web服务器 308 18.3.1 虚拟主机的类型与运行方式 308 18.3.2 基于IP的虚拟主机 308 18.3.3 基于域名的虚拟主机 310 小结 312 习题十八 312 一...

    南京大学操作系统实验教程

    目录 I 基础知识9 1 MINIX操作系统简介11 1.1 MINIX与UNIX . . . . . . ....1.2 探索MINIX ....1.3 编辑器:vi ....1.4 编译器:CC ....1.5 实习题....2.1 8086 CPU结构....A vi常用命令113 B 虚拟机与外部的文件交换117

    uboott移植实验手册及技术文档

    #vi Makefile (将 smdk2410修改为 fs2410) #cd ../../include/configs #cp smdk2410.h fs2410.h 退回 U-Boot根目录:#cd ../../ (4)建立编译选项 #vi Makefile smdk2410_config : unconfig @$(MKCONFIG)...

Global site tag (gtag.js) - Google Analytics