2017-01-25 37 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