注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

VIM:如何复制含有关键字的所有行  

2011-10-20 11:30:53|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Q:想复制含有某个关键字的所有行到另外一个文件中,该如何操作呢?
例如:
<1>this is a book;
<2>this is a dog;
<3>this is a english book;

要将所有含book的行copy出来。

方法:
" Clear register A
:let @a=""
" Append all lines which matchs book to register A
:g/book/y A
" Open a new buffer
:new
" Paste content of register A into the new buffer
:put a

解释:
:let @a="" 使用let命令寄存器a里的内容清空
:g/book/y A 把所有包含book的行都添加到寄存器a中。注:此处是A而不是a,A意味着符合要求的行都被追加到寄存器a中,而a则意味着符合要求的行都会替代寄存器里的内容,如果用a就会导致最后寄存器里只有符合要求的最后一行。
至此,所有包含book的行都在寄存器a里面了。
:put a 把寄存器a里的内容粘贴出来

也可以直接写到文件中去:
:g/book/. w >> filename


附:vim剪切板与命令行
Q: 如何将命令模式下复制的东西黏贴到:命令行里?
:<C-r>"
:help quotequote
或者:
:shift+insert
  评论这张
 
阅读(955)| 评论(2)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016