免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 蓝白725
打印 上一主题 下一主题

请教如何在vim中删除匹配行之前的N行? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-02-02 13:41 |只看该作者
用正则匹配abc及它的前三行,再执行删除,就是不知道这个正则怎么写
g/exp/d

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
12 [报告]
发表于 2009-02-02 13:49 |只看该作者
原帖由 我是DBA 于 2009-2-2 13:03 发表
好像不行。

我用的vim7.1.314可以。

论坛徽章:
0
13 [报告]
发表于 2009-02-02 15:33 |只看该作者
我用的是vim6.3.82,“g/abc/-3,//d”是不行的。
哪位老大帮帮忙啊~

论坛徽章:
0
14 [报告]
发表于 2009-02-02 16:21 |只看该作者
用grep多方便
grep -B

论坛徽章:
0
15 [报告]
发表于 2009-02-02 16:28 |只看该作者
可是vim应该也可以做到啊~

论坛徽章:
0
16 [报告]
发表于 2009-02-02 16:35 |只看该作者

回复 #12 ynchnluiti 的帖子

我的版太太低了,,呵

论坛徽章:
0
17 [报告]
发表于 2009-02-02 16:37 |只看该作者
原帖由 蓝白725 于 2009-2-2 15:33 发表
我用的是vim6.3.82,“g/abc/-3,//d”是不行的。
哪位老大帮帮忙啊~


奇怪!vi都行,vim会不行!

论坛徽章:
0
18 [报告]
发表于 2009-02-02 22:23 |只看该作者
我下载了最新版的gvim7.2,还是不行。
g/abc/-3,//d可以执行,但不是我想要的效果。

比如说,原来文件是这样:
  1. 111
  2. 222
  3. 333
  4. 444
  5. abc
  6. def

  7. 111
  8. 222
  9. 333
  10. 444
  11. abc
  12. def
复制代码

执行g/abc/-3,//d后就变成了:
  1. 111
  2. def
复制代码


我希望得到的结果是:
  1. 111
  2. def

  3. 111
  4. def
复制代码

[ 本帖最后由 蓝白725 于 2009-2-2 22:24 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
19 [报告]
发表于 2009-02-02 22:46 |只看该作者

回复 #18 蓝白725 的帖子

可能我的vim有别的设置,我明天再试试。

论坛徽章:
0
20 [报告]
发表于 2009-02-04 09:15 |只看该作者
这个问题真的没有人能够解决的了吗?这对vim来说不是很复杂吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP