如何根据vim中特定字符的数量排序?

ade*_*car 2 sorting vim

我有一个文件,其中某些行用相对重要性的多个管道标记。您如何根据重要性以及字母顺序在vim中对这些行进行排序?

输入项

cli
bar ||
bar
foo |||
haz ||
Run Code Online (Sandbox Code Playgroud)

输出量

foo |||
bar ||
haz ||
bar
cli
Run Code Online (Sandbox Code Playgroud)

请注意,barhaz是根据管道数排序的,但也按字母顺序排序。谢谢!

Ken*_*ent 5

使用内置的vim :sort,您可以执行以下操作:

:sort! r /|*$/ 
Run Code Online (Sandbox Code Playgroud)

如果要按重要性和字母排序,可以:

:sort|sort! r/|*$/
Run Code Online (Sandbox Code Playgroud)

请注意,您的输出不遵循您描述的规则。