最近在用vim处理数据,学到了一些实用的技巧:
- 统计单词个数
:%s/pattern//gn
pattern即待查找的模式串,可以是正则表达式
- 查找删除
删除匹配项
:g/pattern/d
保留匹配项,删除所有不匹配项
:g!/pattern/d
举个例子,如果想在文件中只保留以Results开头的行,可以有两种写法:
:g/^\(Results\)\@!.*$/d
和
:g!/^Results.*$/d
其中第一个命令里的 \(pattern\)\@!
,()
和 @
是需要转义,@!
的意思是正则表达式里的正向否定预查。vim的正则表达式与 Perl 的正则表达式有所不同,具体细节可以通过:help pattern
查找vim关于模式查找的帮助文档。