vim中的区域查找替换,vim这么强大的工具当然是支持只替换一部分文本啦,那么怎么实现呢?
最直接的方式:
1. 用v选中文本
2. 然后:
这样的话,命令默认形式是
:'<,'>s/source/source_abc/g
繁琐的方法
:'a,'bg/fred/s/dick/joe/g
这是Best of VIM Tips里面的一个例子,解释一下:
'a和'b 指定范围(注意,前面是单引号,不是1左边那个).这个范围是用ma和mb指定的,可以用m{a-z}指定26个位置,以后用'{a-z}就可以直接跳到这个位置,其实就是书签的功能,查看所有的书签,可以用:marks
而这个语句就是实现了,在a和b标签之间,对包含fred的行中的dick替换成joe
如 a标签在第4行,b标签在第9行,那么结果如下: