2017-01-25 36 views
1

假设我在YAML文件VIM排序根据给定的列

hdkkhj50599: 1000000 
504sdaaf54: 00000054 
pppppp: 00005464 

这个部分我想基于冒号后的值,这些行进行排序。

stackoverflow没有建议的解决方案为我工作。

我该怎么做?

回答

4

Vim的内部:sort提供的选项你想要的一切: n标志用于排序十进制数(inst虽然在你的0填充的例子中它并不重要),但在开始时会跳过/.../模式;我们非贪婪地匹配到第一个冒号和空格:

:sort n/.\{-}:/
0

如果你是在Linux上,你可以尝试在vim下面很明显(将调用外部sort命令)

:%!sort -g 

你可以用你的线条,如范围的定义替换%:对线5 10,你会怎么做:

:5,10!sort -g 
1

用vim排序命令:

  • :sort /^.\{-}:/

您可以通过使用Linux命令对它们进行排序:

  • :%!sort -t: -k2

更多看到:help sort