(1)
分析log的过程中,删除不感兴趣的log:
:g/key_word/d
一行log中如果含有关键字“key_word", 则将该行删除, g的作用是指定全篇log
分析log的过程中,只保留含有关键字的行:
:g!/key_word/d
一行log中如果不含有关键字“key_word", 则将该行删除, g的作用是指定全篇log
(2)
删除log中所有的奇数行
:%s/^.*$\n\(^.*$\)/\1
/g
删除log中所有的偶数行
:%s/\(^.*$\)\n^.*$/\1
/g
将log中每两行合并,然后用空格分开
:%s/\(^.*$\)\n\(^.*$\)/\1 \2
/g
该方法是使用正则表达式的分组捕获特性,小括号round brackets( 和 )用于捕获匹配的结果,存储到内部数组内,然后可以使用索引1,2,3,来引用按顺序捕获的匹配。在vim中,( 和 )必须用backslash转义,所以分别为\( 和 \),引用捕获的分组使用\1,\2,\3,而\n匹配换行符。
(3)
全选文本并复制到系统剪贴板
全选 ggVG
gg让光标移动到第一行
大写V 可视化
大写G 文件最后一行
复制到系统剪贴板: “+y 一共是三个字符啊 ” + y
(4)
删除一行中关键字之后的内容
:%s/key_word.*//g
删除一行中关键字之前的内容
:%s/^.*key_work//g
(5)删除空白行
:g/^\s*$/d
:g 代表在全文档范围内
^代表行的开始
\s*代表空白字符
&代表行的结束
d代表删除
用//将3段代码隔开