vim を使用して見つかったすべての行を検索して並べ替えるにはどうすればよいでしょうか?

vim を使用して見つかったすべての行を検索して並べ替えるにはどうすればよいでしょうか?

並べ替えたい C++ インクルードがいくつかあります:

#ifndef t
#define t

#include <b>
#include <a>
#include <c>

#endif

shift-v#include 行を強調表示してから実行することもできます:sortが、より簡単なコマンドがあればそれを使用して実行したいと思います。

答え1

#include 行が少なくとも 1 行の空白行によってテキストの残りの部分から区切られていると仮定して、最初の #include 行の先頭にカーソルを置き、次のように入力します。

!}sort

答え2

これを試して:

:command Psort :'{+1,'}-1sort

その後、カーソルがある段落 (空白行で区切られている) を入力すれば、並べ替えられるようになります:Psort。 (これには、段落内のカーソルの位置に関係なく機能するという利点があります。)

関連情報