sorting - 如何在 Vim 中根据标题对段落进行排序?

原文 标签 sorting vim

假设我们有以下段落,它们之间用空行分隔:

B Heading
Lorem ipsum 1.
Lorem ipsum 2.

A Heading
Lorem ipsum 3.
Lorem ipsum 4.

如何根据标题对这些段落进行排序并获得以下文本?
A Heading
Lorem ipsum 3.
Lorem ipsum 4.

B Heading
Lorem ipsum 1.
Lorem ipsum 2.

最佳答案

一种解决方案是在排序之前连接您的段落。

说你不使用@文本中的符号,您可以使用:

:%s/\(.\+\)\n/\1@//

要做到这一点。然后你可以用
:sort

最后进行相反的操作以恢复您的段落:
:%s/@/\r/g

关于sorting - 如何在 Vim 中根据标题对段落进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098930/

相关文章:

java - 使用 double 类型对对象的数组列表的数组列表进行排序

vim - 星号 (*) 命令的行为

vim - 如何在vim中猛拉CtrlP匹配结果

regex - VIM:替换不带参数的函数调用

sorting - 为什么 mapreduce 二级排序不在复合键的 compareTo() 上?

java - 我需要根据正则表达式模式对名称进行排序,我该怎么办?

ruby - 在Ruby中按批处理对数组进行排序

vim - 如何仅在文件类型的缓冲区中取消映射键绑定(bind)?

vim - GVIM : How can I run a command on a large number of buffers without needing user input?

objective-c - Objective C 中的桶排序实现