基于给定列的vim排序

sma*_*ber 1 vim yaml

假设我的yaml文件中有此部分

hdkkhj50599: 1000000  
504sdaaf54: 00000054  
pppppp: 00005464
Run Code Online (Sandbox Code Playgroud)

我想根据冒号后的值对这些行进行排序.

stackoverflow中没有建议的解决方案适合我.

我该怎么做?

Ing*_*kat 6

Vim的内部:sort提供了你想要的选项:n标志用于排序十进制数字(而不是字母顺序,尽管在你的0填充示例中没有关系),一/.../开始就跳过一个模式; 我们非贪婪地匹配第一个冒号和空格:

:sort n/.\{-}: /
Run Code Online (Sandbox Code Playgroud)