`
haierboos
  • 浏览: 438332 次
文章分类
社区版块
存档分类
最新评论

vim的正则表达式(二)应用实例

阅读更多



本文出自 http://blog.csdn.net/shuangde800

------------------------------------------------------------------------------------------------


本文的例子都是实践过的,如有错误,请指正

本文约定:
$+命令表示在普通的bash的命令行下
:+命令表示在vim的ex(命令)模式, 按"Ctrl" + ":" 进入






修改文件中路径名列表

:s/\/home\/tim/\/home\/linda/g把/home/tim改为/home/linda
上面不太好看,可以使用不同的字符作为模式分割符(可以使用除反斜杆,双引号和竖直线(\、"和|) 之外的任何非字母表、非空白字符作为分隔符):
:s :/home/tim:/home/linda : g
这样可读性更加强,也不容易出错



把HTML斜字体代码标签(<I><I>)放到单词hello world!的周围

:%s/hello world!/<I>&<I>/g



把所有单词help或Help都改为大写的HELP

:%s/[Hh]elp/HELP/g
或者
:%s/[Hh]elp/\U&/g



使用单个空格替换一个或多个空格

:%s/ */ /g


使用两个空格替换冒号或逗号后面的一个或多个空格

:%s/\([,:]\) */\1 /g
先把冒号或逗号保存到缓冲区中,然后匹配冒号或逗号加上一个或多个空格的模式,再把这个模式替换成缓冲区的逗号或冒号,以及加上一个空格


删除所有空行(没有任何字符,除了一个回车符)

:g/^$/d



删除所有空行或者任何只包行空白的行

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

tab代表制表符



删除每行的所有的前导空格

:%s/^ *//g
或者
:%s/^ *\(.*\)/\1/



删除每行尾部的所有空格

:%s/ *$//


在文件中的每一行的开始插入 ->(或者其它字符)

:%s/^/->/
或者
:%s/^\(.*\)/->\1/
单独一个^,可以看作是指向一行的最左边的光标,替换一个字符串就相当于在光标处插入字符串


在每一行的尾部加上一个句号

:%s/$/。/
或者
:%s/\(.*\)/\1。/

同样,单独一个$,可以看作是指向一行的最右边的光标,替换一个字符串就相当于在光标处插入字符串



交换列表中所有连字符分隔的条目的顺序

例如一个文件的内容是:
ABC : XYZ
haha : hehe
Alice : Bob
把冒号两边的字符串交换,只要下面的命令
:%s/\(.*\) : \(.*\)/\2 : \1/


颠倒文件中的行序

例如,一个文件内容是
1
2
3
要改为:
3
2
1

命令如下:
:g/.*/ m 0
或者
:g/^/ m 0






分享到:
评论

相关推荐

    shell脚本之正则表达式、grep、sed、awk

    –正则– 基础正则 ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 . ##代表且只能代表任意一个字符 \ ##例:\. 只代表点本身,转义符号,让...

    学习Linux的一些笔记.docx

    该文件介绍了Linux操作系统的常用操作命令,...此外文件中还含有vim/gvim文本编辑器的常用指令,介绍了编辑器的三种常用模式,以及模式之间的相互转换以及正则表达式的应用;同时还包含了Makefile文本的编辑实例等等。

    LINUX命令、编辑器与SHELL编程PDF.part02.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程PDF.part01

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令编辑器与SHELL编程(中文)01

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part11.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part05

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part03.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part12.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part04.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part06.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part10.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part08.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part09.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    LINUX命令、编辑器与SHELL编程.part07.rar

    本书全面介绍了Linux:为从文件系统到shell、从编辑器到工具以及从编程工具到正则表达式等方面提供了最清晰的讲解和最有用的知识。并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织...

    php网络开发完全手册

    7.5 正则表达式与字符操作的综合应用 110 7.5.1 获得与模式匹配的数组单元—— 7.5.1 preg_grep 110 7.5.2 进行全局正则表达式的匹配—— 7.5.2 preg_match_all 111 7.5.3 进行正则表达式的匹配——preg_ 7.5.3 ...

    semshi:Neo Neovim中的Python语义突出显示

    与基于正则表达式的语法突出显示工具不同,Semshi理解Python代码并在键入时执行静态分析。 它构建语法树和符号表,以根据名称和范围以及上下文突出显示名称。 这使代码更易于阅读,并使您可以快速识别缺少的导入,...

    (5)Nginx 配置实例二 反向代理

    一、实现效果:  使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中,Nginx监听端口为...使用命令 编辑 文件 :/conf/server.xml 文件 vim server.xml  修改后如下: 1、修改server 的默认端口,由默认80

    Ubuntu权威指南(2/2)

    5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133 6.1 启动vim编辑器 134 6.1.1 创建文件 134 6.1.2 状态行 135 6.2 vim编辑器的...

    Ubuntu权威指南(1/2)

    5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133 6.1 启动vim编辑器 134 6.1.1 创建文件 134 6.1.2 状态行 135 6.2 vim编辑器的...

Global site tag (gtag.js) - Google Analytics