vim - 如何在 Vim 中将具有给定模式的所有文本移动到文件顶部?

标签 vim

我知道

g/PATTERN/m $

会将所有具有匹配 PATTERN 的文本移动到文件末尾。我怎样才能达到相反的效果? (即到文件顶部)?

最佳答案

$更改为0

:g/PATTERN/m0

如果您希望其顺序与文件中的顺序相同,请运行该命令两次。

或者一次性全部完成。由于 g 无法与 bar 链接,因此需要 execute。第二个 g 命令将使用与第一个命令相同的模式。

:exec 'g/PATTERN/m0' | g//m0
<小时/>

全局命令之后的命令是:move,它将当前行移动到提供移动的任何地址。 0 代表文件中的第一行,$ 代表最后一行。

关于vim - 如何在 Vim 中将具有给定模式的所有文本移动到文件顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24662953/

相关文章:

vim - 如何在 Vim 中的注释中禁用拼写高亮显示

regex - 在 VIM 中,为什么不必在搜索和替换中添加回 '$'?

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

regex - 使用 Vim 将 Regex Search 的结果保存到文件中

vim - 在vim中固定窗口的大小

vim - Cygwin 更新后 vi 或 vim 无法启动

javascript - 使用Vim的ALE插件时有没有办法指定默认的eslint配置文件?

vim - 如何在窗口右侧打开 Vim 的 Taglist 插件?

vim - 如何创建自定义命令以在 Vim 中进行搜索?

macos - vim repeat macro 记录在一个大写字母下