基于给定列的vim排序
假设我的yaml文件中有这个部分基于给定列的vim排序,vim,yaml,Vim,Yaml,假设我的yaml文件中有这个部分 hdkkhj50599: 1000000 504sdaaf54: 00000054 pppppp: 00005464 我想根据冒号后的值对这些行进行排序 中建议的解决方案都不适合我 如何操作?如果您在linux上,可以在vim中尝试以下操作(将调用外部排序命令) 显然,您可以将%替换为行范围的定义,例如:对于第5行到第10行,您可以: :5,10!sort -g 使用vim排序命令: :排序/^.\{-}:// 您可以使用linux命令对它们进行
hdkkhj50599: 1000000
504sdaaf54: 00000054
pppppp: 00005464
我想根据冒号后的值对这些行进行排序
中建议的解决方案都不适合我
如何操作?如果您在linux上,可以在vim中尝试以下操作(将调用外部排序命令) 显然,您可以将%替换为行范围的定义,例如:对于第5行到第10行,您可以:
:5,10!sort -g
使用vim排序命令:
:排序/^.\{-}://
:%!排序-t:-k2
有关更多信息,请参见
:help sort
Vim的内部:sort
提供了所需的选项:n
标志用于对十进制数字进行排序(而不是按字母顺序,尽管在0填充的示例中这并不重要),在开头跳过/…/
模式;我们不贪婪地匹配第一个冒号和空格:
:sort n/.\{-}: /
:sort n/.\{-}: /