vim 查找相同行 删除向同行

###vim 查找相同的两行
思路:先将两行排序,然后查找前一行等于后一行的内容

:sort
/^\(.\+\)$\n\1

^(.+)$\n表示一整行的模式,\1表示第一个组

###vim删除相同的行
给出vim wiki上的两种解法,链接如下:
http://vim.wikia.com/wiki/Uniq_-_Removing_duplicate_lines

There are two versions (and \v “verymagic” version as a variant of the second): the first leaves only the last line, the second leaves only the first line. (Use \zs for speed reason.)

g/^\(.*\)\n\1$/d
g/\%(^\1\n\)\@<=\(.*\)$/d
g/\v%(^\1\n)@<=(.*)$/d

Breakdown of the second version:

g/\%(^\1\n\)\@<=\(.*\)$/d
g/                     /d  <-- Delete the lines matching the regexp
            \@<=           <-- If the bit following matches, make sure the bit preceding this symbol directly precedes the match
                \(.*\)$    <-- Match the line into subst register 1
  \%(     \)               <-- Group without placing in a subst register.
     ^\1\n                 <-- Match subst register 1 followed the new line between the 2 lines

具体就不解释了,自行看解释(其实主要是我自己也没看太明白,哈哈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值