Vim:如何删除第三行并粘贴到文件末尾

时间:2018-07-13 06:25:07

标签: vim

如何在Vim中做到这一点:

之前:

Text1
Text2
Digit1
Text3
Text4
Digit2

之后:

Text1
Text2
Text3
Text4

0
1

有将近19000行以类似的方式排列。有些数字是负数,有些文本开头也包含数字,我正在考虑将其作为文本的一部分。 我已参考此stackoverflow帖子删除行 Vim: how to delete every second row?

我只希望删除数字并将其复制到文件末尾。

1 个答案:

答案 0 :(得分:2)

如果您不想移动的行不是以数字或减号开头,则可以使用:

:g/^[-\d]/m$

这会将以数字或减号开头的每一行移动到文件底部。

要仅匹配完全由数字(正,负或零)组成的行,请使用:

:g/^-\=\d\d*$/m$

这假定这些行中没有开头或结尾的空格,否则您可以使用:

:g/^\s*-\=\d\d*\s*$/m$