Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101469231
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-28 10:49:27

原文:Vim快速提取行内容

在VeryCD的,把下载链接的文本复制到Vim里,想把《流言终结者》系列的行提取出来,
《流言终结者》系列真是超好看的,刻碟收藏,噢噢。要做个目录,也就是抽出

[2008.01.20]Discovery.Channel.-.流言終結者:巨物迷思.[04718C14].avi 详情
类似的行来到一个文本文件里,要处理的文本内容如图

要提取文本

方法一:
善用佳软善用Vim:实例系列(1)一文有类似技巧:为长篇txt生成可跳转目录
不过我用和“:lv”命令,“:lv”和“:vimgrep” 类似,但使用当前窗口的位置列表而不是quickfix列表
使用
:lv /流言/ %
获取行,然后再用
:lw
打开当前窗口的位置列表,然后按Ctrl+w,T转到新标签页打开,继续用
:sav test2.txt
另存为一份,用
:set ma
把文件设置为可写,最后用替换命令
%s/^.*[20/[20/gc
把行号删除掉,最好保存,这样做步骤还不少。

提取结果

方法二:
直接用ex命令
:g/流言/

提取结果2

这样就能显示出符合表达式的行出来,不过不是插入的文件中,查了手册没找到怎么把ex命令的结果输出到一个新文件中,也就是类似用
:r!dir
命令那样,把输出插入文件。不过后来还有找到个好方法,使用
:g/流言/normal “AY
就行了,normal表示对其使用普通模式下的命令,“”AY”表示复制行附加到a寄存器中(大写表示附加),然后就
:new
新建一个文件,再
“ap
把寄存器内容插入去,娃哈哈哈哈,真简单。

阅读(1006) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~