web-dev-qa-db-ja.com

VIエディターで数値順に並べ替え

可能性のある複製:
Vimで数値列とリテラル列を並べ替える方法

以下の行をスレッドIDに基づいてソートする必要があります。

Internal thread 0 bound to OS proc set {1}
Internal thread 1 bound to OS proc set {5}
Internal thread 2 bound to OS proc set {9}
Internal thread 10 bound to OS proc set {41}
Internal thread 9 bound to OS proc set {37}

:!sort -nを発行すると、次のように並べ替えられます。

Internal thread 0 bound to OS proc set {1}
Internal thread 1 bound to OS proc set {5}
Internal thread 10 bound to OS proc set {41}
Internal thread 2 bound to OS proc set {9}
Internal thread 9 bound to OS proc set {37}

しかし、私はそれらをこのようにソートする必要があります:

Internal thread 0 bound to OS proc set {1}
Internal thread 1 bound to OS proc set {5}
Internal thread 2 bound to OS proc set {9}
Internal thread 9 bound to OS proc set {37}
Internal thread 10 bound to OS proc set {41}
31
arunmoezhi

Vim独自のソート関数を使用するだけです。テキストを視覚的に強調表示し(または範囲を使用)、次のように入力します。

:sort n

ドキュメントはここにあります: http://vim.wikia.com/wiki/Sort_lines

またはVim自体::help sort

(dash-tom-bangからの明確化の重要なポイントとVim独自のヘルプファイルへの参照を反映するように編集されています。)

42
Nate