在vim中,怎么删除开头相同的所有行?

[复制链接]
查看11 | 回复2 | 2008-11-3 10:37:24 | 显示全部楼层 |阅读模式
补充一下:需要删除的行与其它行的结尾也是相同的。所以我不会删除。

回复

使用道具 举报

千问 | 2008-11-3 10:37:24 | 显示全部楼层
一定要在vim里操作么?我也不太熟悉正则表达式了,你在vi里试试这个命令 s/^#.*\n$//g s是替换命令,后面有三个/分隔两个区域,前一个区域是需要查找的内容,后一个区域是需要替换的内容,脱字符“^”是行首界定符,只匹配每行前4个字符内包含指定字符的行,这里是#号,所以就是^#,点“.”是匹配任意一个字符,星号“*”匹配任意数目的前一字符,所以“.*”连起来就是表示不小于一个的任意字符,\n是一个转义,表示一个换行字符,$符号是行尾界定符,所以\n$就是表示该行应以换行符结尾,后面一个区域为空,就是把前面一个区域匹配的内容替换为空,实际就是删除了吧……,最后一个g是表示global,全局替换;我在windows,懒得重启换系统去试验了,...
回复

使用道具 举报

千问 | 2008-11-3 10:37:24 | 显示全部楼层
:g/^要删的字符/d...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行