vi的替换操作(substitute)
星期二, 4月 8th, 2008 130 次访问在vi的操作中,替换是经常被用到的.其用法也十分简单.记之! 命令操作符: :substitute 命令格式: :[range]substitute/from/to/[flags] 1.substitute这个单词比较不好记,在vi中简写为s 所以 :[range]s/from/to/[flags] 2. [range] : 范围. % 表示所有行,如果不忽略range则表示当前行. 其范围还可以用区间来表示 1,5表示第一行到第5行,如果单独的一个数字表示替换的行号. 特殊符号."."表示当前行,"$"表示最后一行.然后%等价于1,$. 范围还可以进行加减.比如.+3,$-4表示当前行后3行,到倒数第5行内. 还可以用标记进行范围设定,比如你要是在指定了地方设定了"mt","mb"用:'t,'b则表示这两个范围之间. 3. 分符号/可以用其它符号代替,如果要替换的字符中有/可以把/换成\/或者都换分隔符 eg: :s+one/two+one or two+ 分隔符为+ 4. from表示要替换的词,to 表示替换成的词. 5. flags 替换修饰符号 有g,p,c g:表示替换一行中所有的符合条件的. p;列出所有被修改的行 c: 替换前需要确认一下. 例子: