VIM 删除奇数行,删除偶数行以及奇数行和偶数行合并
vim奇偶数行操作
思路很简单,就是一次匹配两行,然后删除奇数行,删除偶数行或者两行合并。
删除奇数行
1 | :%s/^.*$\\n\\(^.*$\\)/\\1/g |
删除偶数行
1 | :%s/\\(^.*$\\)\\n^.*$/\\1/g |
奇数行和偶数行合并,以空格分格
1 | :%s/\\(^.*$\\)\\n\\(^.*$\\)/\\1 \\2/g |
要点:
主要就是使用正则表达式的分组捕获特性,小括号round brackets( 和 )用于捕获匹配的结果,存储到一个内部数组内,
然后可以使用索引1,2,3,…来引用按顺序捕获的匹配。
在vim中,( 和 )必须用backslash转义,所以分别为\( 和 \),引用捕获的分组使用\1,\2,\3,…
而\n匹配换行符,上面的命令就不难理解了。