VIM .. 基于正则表达式提取多行

标签 vim

这是我的情况,我有很多 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/

相关文章:

vim - 将带有行号的文件路径从 vim 复制到系统剪贴板

vim - 什么 vimrc 设置可以加快滚动速度?

editor - VIM:在我们/他们的冲突 block 之间选择

ubuntu - GNU screen 鼠标限制

haskell - 在 vim 中编辑 Haskell 代码时 % 不起作用?

vim - Macvim默认不会加载特定的配色方案

vim - 我应该使用函数还是函数!在 vim 脚本中?

vim - 在 OS X 中,clang_complete : where is the libclang. {so,dylib}?

vim - Vim 是否有任何高级(例如 bigram)自动完成插件?

vim 在两个文件之间选择和复制文本