如何在Vim中做到这一点:
之前:
Text1
Text2
Digit1
Text3
Text4
Digit2
之后:
Text1
Text2
Text3
Text4
0
1
有将近19000行以类似的方式排列。有些数字是负数,有些文本开头也包含数字,我正在考虑将其作为文本的一部分。 我已参考此stackoverflow帖子删除行 Vim: how to delete every second row?
我只希望删除数字并将其复制到文件末尾。
答案 0 :(得分:2)
如果您不想移动的行不是以数字或减号开头,则可以使用:
:g/^[-\d]/m$
这会将以数字或减号开头的每一行移动到文件底部。
要仅匹配完全由数字(正,负或零)组成的行,请使用:
:g/^-\=\d\d*$/m$
这假定这些行中没有开头或结尾的空格,否则您可以使用:
:g/^\s*-\=\d\d*\s*$/m$