【不积跬步,无以致千里】VIM查找替换归纳总结zz

http://spaces.msn.com/dingy/blog/cns!2F24B9E66A542581!327.entry VIM中常用的替换模式总结。

1,简单替换表达式

替换命令可以在全文中用一个单词替换另一个单词:

:%s/four/4/g

 

”%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可

  如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4”。要解决这个问题,用 “\<” 来指定匹配单词开头:

       :%s/\<four/4/g

显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题:

       :%s/\<four\>/4/g

如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:

       :%s/\<four\>/4/gc

2,删除多余的空格

要删除这些每行后面多余的空格,可以执行如下命令:

       :%s/\s\+$//

命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是

“\s\+$”。这表示行末($)前的一个或者多个(\+)空格(\s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。

3,匹配重复性模式

星号项 “*” 规定在它前面的项可以重复任意次。因此:

       /a*

匹配 “a”,”aa”,”aaa”,等等。但也匹配 “” (空字串),因为零次也包含在内。星号 “*” 仅仅应用于那个紧邻在它前面的项。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。如要多次重复整个字符串,那么该字符串必须被组成一个项。组成一项的方法就是在它前面加 “\(“,后面加 “\)”。因此这个命令:

       /\(ab\)*

匹配: “ab”,”abab”,”ababab”,等等。而且也匹配 “”。

要避免匹配空字串,使用 “\+”。这表示前面一项可以被匹配一次或多次。

       /ab\+

匹配 “ab”,”abb”,”abbb”,等等。它不匹配 后面没有跟随 “b” 的 “a”。

要匹配一个可选项,用 “\=”。 例如:

       /folders\=

匹配 “folder” 和 “folders”。

4,指定重复次数

要匹配某一项的特定次数重复,使用 “\{n,m}” 这样的形式。其中 “n” 和 “m” 都是数字。在它前面的那个项将被重复 “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:

       /ab\{3,5}

匹配 “abbb”,”abbbb” 以及 “abbbbb”。

  当 “n” 省略时,被默认为零。当 “m” 省略时,被默认为无限大。当 “,m” 省略时,就表示重复正好 “n” 次。例如:

       模式          匹配次数

       \{,4}           0,1,2,3 或 4

       \{3,}           3,4,5,等等

       \{0,1}          0 或 1,同 \=

       \{0,}           0 或 更多,同 *

       \{1,}           1 或 更多,同 \+

       \{3}            3

5,多选一匹配

在一个查找模式中,”或” 运算符是 “\|”。例如:

       /foo\|bar

这个命令匹配了 “foo” 或 “bar”。更多的抉择可以连在后面:

       /one\|two\|three

匹配 “one”,”two” 或 “three”。

  如要匹配其多次重复,那么整个抉择结构须置于 “\(” 和 “\)” 之间:

       /\(foo\|bar\)\+

这个命令匹配 “foo”,”foobar”,”foofoo”,”barfoobar”,等等。

  再举个例子:

       /end\(if\|while\|for\)

这个命令匹配 “endif”,”endwhile” 和 “endfor”。

时间: 2024-09-23 10:28:58

【不积跬步,无以致千里】VIM查找替换归纳总结zz的相关文章

F5公司:积跬步至千里

2015年12月10日,应用交付领导厂商F5公司一年一度的核心媒体沟通会在北京召开.会上,F5中国区总经理张毅强先生.F5大中华区技术总监张振伦先生与F5中国区区域客户部技术经理陈亮先生分别从各自角度进行了讲解,与到场媒体朋友分享了F5公司在过去一年中的成长,以及对2016年应用交付行业发展趋势的展望. 张毅强先生在会上首先透露:"在经济形势严峻.企业用户纷纷收紧预算的2015年,F5中国仍保持了两位数字的业绩涨幅.这样的表现与F5的企业文化是分不开的.F5始终相信'不积跬步,无以至千里'的道理

积跬步&amp;#183;15年总

一.引言前几天大家一起开头脑风暴,是以博客为主题的.期间,十期师傅说了一句很经典.也很贴切的一句话:"不积跬步,无以至千里:不积小流,无以成江海."相信大家都很熟悉这句话,不错,正是荀子的<劝学篇>中很有启发性的一句话.其中的"跬步"是指一步半步,所以常与后句"无以至千里"一起使用,全句的意思是:不积累一步半步,就没有办法到达千里的地方:不积累小河流,就没有办法汇成江海.比喻积累的作用,可以充实.丰富.完善自己.而我正是拿来总结一下这

第4次两会会谈成功闭幕:积跬步之功致千里之行

积跬步之功,致千里之行 --写在海协会与海基会台中会谈成功落幕之际 新华社北京12月25日电(新华社记者 张勇 陈键兴) "合抱之木,生于毫末:九层之台,起于累土:千里之行,始于足下." 备受瞩目的海协会与海基会第四次领导人会谈签署了涉及工农渔商的3项协议,同时安排继续就两岸避免双重征税进行磋商并将适时签署协议.作为今年两岸关系的"收官之作",本次两会台中会谈堪称一个圆满的"句点".从推进两会制度化协商乃至两岸关系和平发展的更大视角来看,本次会谈

【不积跬步,无以致千里】五个常用的Linux监控脚本代码

为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看看哦! 1.查看主机网卡流量 #!/bin/bash #network #Mike.Xu while : ; do time='date +%m"-"%d" "%k":"%M' day='date +%m"-"%d' rx_bef

【不积跬步,无以致千里】vim复制

用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使用系统粘贴板,印象里回复很多,有好几页的回复却没有解决问题,今天实在受不了了又在网上找办法,竟意外地找到 了,贴出来分享一下. 如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset(粘贴)就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的.vim帮助文档里

【不积跬步,无以致千里】AMQP协议介绍

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.    ----------------------------------------------------------------------------

【不积跬步,无以致千里】mysql 多行合并函数

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.    ----------------------------------------------------------------------------

【不积跬步,无以致千里】linux下如何查看自己的外网IP

局域网的服务器是通过ADSL路由器连接外网的,但ADSL是从ISP运营商那儿通过动态获得IP的,那么我怎么知道自己的外网地址是多少呢?今天得到几个办法:curl -s http://whatismyip.orgwget http://whatismyip.org 然后再  cat index.html 也可以看到

【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序

  oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下.   安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME.比如:   export ORACLE_SID=test  export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx   启动步