早教吧作业答案频道 -->数学-->
vim中,下面的删除偶数行的正则表达式为什么不一样呀?123456789上面的九个数是测试文本,共九行.:%s/\s*//g表示删除每行的空格:%normjdd表示删除偶数行,其中表示空格,但是我不小心,输成了:%n
题目详情
vim中,下面的删除偶数行的正则表达式为什么不一样呀?
1
2
3
4
5
6
7
8
9
上面的九个数是测试文本,共九行.
:%s/\s*//g 表示删除每行的空格
:%normjdd 表示删除偶数行,其中表示空格,但是我
不小心,输成了:%normjdd
两条命令合起来就是
:%s/\s*//g|%normjdd (这个是错误的)
(写成看不见的空格的形式就是:%s/\s*//g|%norm j dd ,记成命令组A)
结果就成了保留第1\2\4\6\8行,
如果增加行尾空格,用
:%s/$/\s/g|%normjdd
(看不见的空格的形式就是:%s/$/ /g|%norm j dd ,记成命令组B)
结果是保留了第1\3\5\7\9行,也就是我想要的结果
我想问的是命令组A与命令组B为什么会不一样呀?不都是先向下
移动一行然后删除本行,再向下移动一行再删除本行,如此不断
还有就是正确的命令
:%s/\s*//g|%norm jdd (这个是删除每行空格)
:%s/$/ /g|%norm jdd (这个是增加每行行尾空格)
这两个命令都能正确地删除偶数行.
还有,删除奇数行是什么正则表达式呀?
1
2
3
4
5
6
7
8
9
上面的九个数是测试文本,共九行.
:%s/\s*//g 表示删除每行的空格
:%normjdd 表示删除偶数行,其中表示空格,但是我
不小心,输成了:%normjdd
两条命令合起来就是
:%s/\s*//g|%normjdd (这个是错误的)
(写成看不见的空格的形式就是:%s/\s*//g|%norm j dd ,记成命令组A)
结果就成了保留第1\2\4\6\8行,
如果增加行尾空格,用
:%s/$/\s/g|%normjdd
(看不见的空格的形式就是:%s/$/ /g|%norm j dd ,记成命令组B)
结果是保留了第1\3\5\7\9行,也就是我想要的结果
我想问的是命令组A与命令组B为什么会不一样呀?不都是先向下
移动一行然后删除本行,再向下移动一行再删除本行,如此不断
还有就是正确的命令
:%s/\s*//g|%norm jdd (这个是删除每行空格)
:%s/$/ /g|%norm jdd (这个是增加每行行尾空格)
这两个命令都能正确地删除偶数行.
还有,删除奇数行是什么正则表达式呀?
▼优质解答
答案和解析
%normal 的命令从没用过.不过从你这个命令来看,实在是很没谱啊.
我估计是bug了.要么就是第一次空格有效,后面的空格都是无效的了.
你前面那个替换没什么用.去不去掉空格增加空格都没有影响.
normal j dd 就是下移一行,再向后一个字符,再删除.顺序的操作. 如果这一行就1个字符的话,就跳到下一行了.
重复执行,那个空格可能被省略了吧.
建议normal 命令不用%来做.
给你2个命令:
删除偶数行:
%s/\(^.*$\)\n^.*$/\1/g
删除奇数行:
%s/^.*$\n\(^.*$\)/\1/g
很好理解,就是把2行正则match,替换成其中1行.
我估计是bug了.要么就是第一次空格有效,后面的空格都是无效的了.
你前面那个替换没什么用.去不去掉空格增加空格都没有影响.
normal j dd 就是下移一行,再向后一个字符,再删除.顺序的操作. 如果这一行就1个字符的话,就跳到下一行了.
重复执行,那个空格可能被省略了吧.
建议normal 命令不用%来做.
给你2个命令:
删除偶数行:
%s/\(^.*$\)\n^.*$/\1/g
删除奇数行:
%s/^.*$\n\(^.*$\)/\1/g
很好理解,就是把2行正则match,替换成其中1行.
看了 vim中,下面的删除偶数行的...的网友还看了以下:
计算(a+1)(a-1)(a^+1)=?(其中^表示2) 2020-05-13 …
(1)在下图1中,O点为杠杆的支点,请画出力F的力臂,并用字母L表示.(2)在下图2中O是杠杆的支 2020-06-25 …
再图中表示2分之一乘4分之3 2020-06-30 …
用化学用语表示:(1)1个氢分子;2个磷原子;氧化铝;4个硝酸根离子.(2)某化合物由N、O两种元 2020-07-02 …
用化学用语表示:(1)1个氢分子;2个磷原子;氧化铝;4个硝酸根离子.(2)某化合物由N、O两种元 2020-07-02 …
点A,B,C,D在数轴上的位置如图,其中表示-2的相反数的点是,再在数轴上表示出-1.5和-214 2020-07-19 …
为了书写和学术交流的方便,常采用国际统一的符号.下列符号中表示2个氧原子的是()A.B.C.D. 2020-11-04 …
下列图案是晋商大院窗格的一部分.其中,“o”代表窗纸上所贴的剪纸.探索并回答下列问题:(1)第6个图 2020-12-08 …
下列图案是晋商大院窗格的一部分.其中,“o”代表窗纸上所贴的剪纸.探索并回答下列问题:(1)第6个图 2021-01-18 …
正丁烷与异丁烷密度差异高二教材中表5-2列出正丁烷与异丁烷的相对密度的差异是如何产生的???他们是同 2021-02-01 …