例えば、Vim で箇条書きでメモをしていて、一部だけを逆順にしたいときってありますよね?ありますよね?
こんな風にメモを取っていたときに
欲しい機能 - カメラ機能が欲しい - 写真をアップロードしたい - 写真にコメントをつけたい 予算xx万
こんな風に変更したいとかいうときですね。
欲しい機能 - 写真をアップロードしたい - 写真にコメントをつけたい - カメラ機能が欲しい 予算xx万
辞書順にソートしたいときは、ビジュアルモードで選択したあと次のコマンドでソートできます。
:sort # ソート(a->z) :sort! # 逆ソート(z->a)
けれど、今回やりたいのは単純に元の順番の逆にしてほしいです。
そんなときは、同じくソートしたい領域をビジュアルモードで選択したあとにtailコマンドを呼び出して逆順に並び変えることができました。
:tail -r
OSのコマンドを利用しない方法としては次がありました。
:g/^/m0 # 0 は、ビジュアルモードで選択し始めた行-1 の数値
後者のほうがスマートなのかもしれませんが、ちょっと覚えにくいのとビジュアルモードで選択し始めた行を確認しないといけないので、たぶん tail 版を利用すると思います。
ほかにいい方法があればぜひ教えてください。
参考
http://superuser.com/questions/189947/how-reverse-selected-lines-order-in-vim