`
king_tt
  • 浏览: 2291055 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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






分享到:
评论

相关推荐

    精通正则表达式&正则表达式经典实例

    9. **实例应用**:正则表达式广泛应用于文本编辑器(如vim、emacs)、编程语言(如JavaScript、Python、Java)和搜索引擎(如grep、findstr)。例如,用于验证邮箱格式、手机号码、提取URL等。 通过《精通正则...

    正则表达式参考文档揭开正则表达式的神秘面纱

    四、正则表达式实例 1. 验证邮箱格式:`/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/` 2. 匹配URL:`/(http|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?/` 3. 查找所有数字:`/\d+...

    正则表达式书籍

    11. **实际应用**:书中可能涵盖如何在各种编程语言(如Python、Java、JavaScript)中使用正则表达式,以及在文本编辑器(如vim、emacs)或命令行工具(如grep、sed)中的应用。 12. **调试与测试**:介绍如何使用...

    正则表达式30分钟入门教程

    - **文本编辑器**:如Vim、Sublime Text等,使用正则表达式进行查找和替换。 - **编程语言**:Python、Java、JavaScript等都内置了正则表达式支持。 - **Web开发**:HTML表单验证、URL路由、服务器端脚本处理等。...

    正则表达式chm系统教程(一个)

    9. **在不同环境中的应用**:讲解如何在各种编程语言(如Python、JavaScript、Java等)或工具(如grep、sed、vim等)中使用正则表达式。 10. **高级主题**:可能包括正则表达式的回溯机制、后向引用、条件匹配、非...

    正则表达式

    正则表达式,又称正规表示式、正规表达或简称为正则,是用于处理字符串的强大工具,它在编程语言、文本编辑器、搜索引擎等场景中广泛使用。正则表达式通过一套特定的语法来匹配、查找、替换或者验证字符串中的模式,...

    正则表达式总结

    - 在文本编辑器或搜索引擎中,如vim、grep等,正则表达式是强大的查找和替换工具。 理解并熟练掌握正则表达式,对于提高文本处理的效率和准确性至关重要。通过不断实践和学习,我们可以更好地利用正则表达式解决...

    30分钟明白正则

    3. **正则表达式实例** - `\bhi\b`:精确匹配单词"hi",不匹配"him"、"history"等包含"hi"的单词。 - `\bhi\b.*\bLucy\b`:匹配"hi"后面跟着任意字符,最后是单词"Lucy"的字符串。 - `0\d\d-\d\d\d\d\d\d\d\d`:...

    Learn Vimscript the Hard Way

    - 正则表达式:学习正则表达式的语法,用于文本查找和替换。 7. 高级话题 - 脚本环境:理解Vim的启动过程,以及如何影响脚本执行的环境变量。 - 与外部程序交互:使用system()和execute()函数调用系统命令。 - ...

    《大家来学vim》-李果正

    - 正则表达式:Vim支持强大的正则表达式,用于更复杂的查找和替换操作。 - 分屏编辑:学会使用sp或vs命令进行多文件同时编辑。 - 代码补全:利用插件实现代码自动补全,提升编程效率。 《大家来学vim》这本书将...

    vi_iMproved

    另外,vim的正则表达式支持也是其强大之处,通过实例教学,读者能学会如何利用正则表达式进行高效的文本查找和替换。 在高级部分,书中将介绍vim的脚本编写,使读者能够创建自定义的命令和映射,定制属于自己的工作...

    vi.and.Vim.Editors.Pocket.Reference.2nd.Edition).Arnold.Robbins.pdf

    接着,作者罗列了vi命令、输入模式快捷键、替换和正则表达式、ex命令等关键内容的章节,这些章节都是围绕着vi和Vim编辑器的日常使用和高级特性展开的。 手册详细介绍了如何通过命令行选项来启动和配置vi编辑器,...

    Best+of+VIM+Tips(译注).pdf

    使用等号“=”而不是常见的斜杠“/”作为参数分隔符,在正则表达式中包含斜杠时特别有用。 7. 删除行尾空格和DOS回车符: 使用%s#\s*\r\?$## 或 %s#\s*\r*$##命令,这两种命令使用“#”作为参数分隔符,且使用了非...

    Learning the vi and Vim Editors, Seventh Edition

    - **扩展的正则表达式**(第169页):探讨了Vim中支持的更强大的正则表达式功能,使模式匹配更加灵活。 - **可执行文件的定制**(第171页):介绍了如何定制Vim可执行文件的行为,包括自定义快捷键和插件。 #### ...

    vim 7.2中文手册

    9. **正则表达式**:在查找和替换中,Vim 使用强大的正则表达式,提供了高级的文本匹配能力。 10. **屏幕分隔**:同时编辑多个文件或文件部分,提高多任务处理效率。 11. **折叠**:组织代码,隐藏或显示特定代码...

    VIM中文帮助文档DOC

    4. **强大的搜索与替换**:VIM提供正则表达式支持,使查找和替换功能更为强大。 5. **多窗口编辑**:用户可以在一个VIM实例中同时打开多个文件,并在各个文件间切换。 6. **语法高亮**:VIM可以对各种编程语言进行...

    vim命令实用命令汇集和使用方法

    `vim` 是一款强大的文本编辑器,其命令集丰富多样,能够帮助用户高效地编辑文本。...更复杂的操作,如使用寄存器进行拷贝和删除,以及正则表达式的高级应用,可以通过查阅`vim`的文档或教程进一步学习。

    vim for windows and dos

    3. **搜索与替换**:Vim的查找和替换功能非常强大,支持正则表达式,可以进行复杂的文本查找和替换。 4. **折叠代码**:对于大型代码文件,Vim允许用户折叠代码块,隐藏不需关注的部分,保持屏幕整洁。 5. **多级...

    vim7.1

    3. **改进的搜索和替换**:增强了正则表达式的支持,使搜索和替换操作更加强大和灵活。 4. **脚本语言支持**:Vim 7.1支持更多的脚本语言,如Python、Perl和Ruby,允许用户编写自定义插件和宏,扩展编辑器功能。 5...

Global site tag (gtag.js) - Google Analytics