这是我的情况,我有很多 SQL 行,如下所示。
SET IDENTITY_INSERT blah
DELETE FROM blah
SET IDENTITY_INSERT blah
DELETE FROM blah
SET IDENTITY_INSERT blah
DELETE FROM blah
SET IDENTITY_INSERT blah
DELETE FROM blah
SET IDENTITY_INSERT blah
DELETE FROM blah
我想使用 VIM 重新排列它
SET IDENTITY_INSERT blah
SET IDENTITY_INSERT blah
SET IDENTITY_INSERT blah
SET IDENTITY_INSERT blah
DELETE FROM blah
DELETE FROM blah
DELETE FROM blah
现在我知道我可以编写一个简单的 python 脚本来快速完成这项工作,但我正在努力提高我的 VIM 技能。
最佳答案
您可以使用 g 命令:
:g/^DELETE/m$
这会将 (m) 以 DELETE 开头的所有行移动到文件的末尾 ($)。
关于VIM .. 基于正则表达式提取多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534643/