vim - Vim:如何删除第三行并粘贴到文件末尾
问题描述
如何在 Vim 中实现:
前:
Text1
Text2
Digit1
Text3
Text4
Digit2
后:
Text1
Text2
Text3
Text4
0
1
有近 19000 行类似的模式。有些数字是负数,有些文本也包含开头的数字,我正在考虑文本的一部分。我已参考此 stackoverflow 帖子删除行 Vim:如何删除每隔一行?
我只想删除数字并将其复制到文件末尾。
解决方案
如果您不想移动的行不以数字或减号开头,您可以使用:
:g/^[-\d]/m$
这会将以数字或减号开头的每一行移动到文件的底部。
要仅匹配完全由数字(正数、负数或零)组成的行,请使用:
:g/^-\=\d\d*$/m$
这假设这些行中没有前导或尾随空格,否则您可以使用:
:g/^\s*-\=\d\d*\s*$/m$
推荐阅读
- php - 如何在 Laravel 7 中的数组索引中返回字符串
- python - 为什么标签文本不改变?
- javascript - JS导入类到已经导入的类
- firebase - 想要向新用户显示欢迎页面,并在 Flutter Firebase 中向登录用户显示主屏幕
- php - 1.6.1.24 更新到 1.7.7.4 数据库架构错误
- api - Centreon Web API v2 端点返回 500 - 找不到路由
- django - 如何预取嵌套表?
- javascript - 如何使用 angularjs 和 $localStorage 为 select2 初始化默认值
- javascript - 如何在 React 本机邮件链接中自动与邮件共享文档?
- postgresql - 使用 Windows 证书存储中的 Npgsql 加载客户端证书时,无法识别提供给包的凭据