Vim之删除重复行
来源:互联网 发布:centos7和ubuntu 编辑:程序博客网 时间:2024/06/02 04:16
题注:本文关于Vim的删除文本中的重复行。
最近开始使用Vim,感觉此乃外人间之神器,怪不得那么多Vimer对其偏爱有加。现在说说文本中重读行删除问题。在众多的编辑器中Vim对正则的支持估计是最强大的了,很多高级的正则表达式在Vim中都是支持的。以下是我的解法:
:%s/\(.*\)\n\1/\1\r/g
:g/^$/d
这里需要两个命令,后再http://vim.wikia.com/wiki/Uniq_-_Removing_duplicate_lines找到了我的加强版:
:g/^\(.*\)$\n\1$/d
:g/\%(^\1$\n\)\@<=\(.*\)$/d
两者都是前面的命令和我的相似,它删除的是重复项的前面一项;后面的命令删除的重复项的后面的内容。注意两个命令独立的,可以分别使用。对于g命令不是很熟悉,它是一个全局命令,以后会有全面介绍。
第二个命令的解释:
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 by end of line and the new line between the 2 lines
以上已经说得很明白了,不需要额外解释什么了。
- Vim之删除重复行
- vim删除重复行的函数
- vim 删除文本文件中的重复行
- 【笔记】vim如何删除重复行
- VIM 删除重复行 (VIM Remove duplicate lines)
- Vim技巧之重复
- Vim技巧之重复
- vim删除重复行 (走过弯路的人血泪总结)
- SHELL/VIM删除重复行(去重)
- vim查找或删除部分重复的行
- VIM笔记:构造可重复删除
- vim之删除^M
- vim之删除^M
- Vim去除重复行
- vim 去重复行
- mysql之删除重复数据
- SQL之删除重复数据
- Vim编辑器之删除单词
- Linux 网络命令ifconfig 详解
- Java中的final,finally与finalize
- bash
- 动态调试中获取mfc程序的消息响应函数列表的思路
- windows API
- Vim之删除重复行
- WLAN驱动分析文档_gzc126_新浪博客
- wifi driver 学习笔记 - gangyanliang的专栏 - 博客频道 - CSDN.NET
- Linux 驱动分析--s3c6410 的SDIO驱动分析-bluedrum-ChinaUnix博客
- SDIO驱动总结 - Dybinx的专栏 - 博客频道 - CSDN.NET
- 变量和数据库事务
- activiti5 Junit4 Spring测试环境搭建
- WLAN驱动分析文档_gzc126_新浪博客
- 主题:同步/异步及阻塞/非阻塞