我有一个看起来像这样的文件:
dog{{{
blah blah blah
}}}
cat{{{
blah blah
}}}
aardvark{{{
blah blah blah blah
}}}
Run Code Online (Sandbox Code Playgroud)
在我的vimrc中set foldmethod=marker,所以文件的内容全部折叠在花括号上.我的问题是,如何根据折叠标题对文件进行排序?我希望那个aarvaark部分先来,然后cat呢dog.
一些折叠部分内有其他折叠.我不想对那些较低的折叠水平进行排序.该文件应按级别1级排序.
关闭所有折叠(zM或:set foldlevel=0)后,您可以使用删除dd和粘贴p来手动移动折叠块。这对于少量文本是可以的。
对于大文本,您必须自己编写排序功能,因为 Vim 不提供此类功能。可以使用以下算法:
<Nul>)将所有折叠线连接在一起。:sort命令。对于错误处理和极端情况,实际上需要大量的实现工作。我在这里尝试过:https : //gist.github.com/4145501