请教下vim中如何做到字符串匹配条件下的批量复制粘贴?
发表于 : 2010-07-26 8:36
比如说我有一堆电话号码,现在要把所有“1330571”开头的全部复制粘贴到另一个文件里面去。 我尝试了一下global,发现可以根据这样的条件删除,比如“:g/1330571/d”,但是经过观察我发现,这个命令它其实是做了个循环操作,每次处理一行然后根据条件往下找,而不是一次d了一个块。这样的话,我再用p就只能粘贴到最后一行而已。请教下,是否有别的方法呢?
代码: 全选
let @" = ''
for l in range(0, line('$'))
if getline(l) =~ '^1330571'
let @" .= getline(l)."\n"
endif
endfor
代码: 全选
grep '^1330571' 来源文件 | xsel -i
# 已经复制到中键的那个剪贴板了
http://unxutils.sourceforge.net/ grep, find, sed, gawk 等都有,独立程序,不像Cygwin那样要N多文件才能用。wayne 写了: 不用grep是因为我在windows下用VIM……