vim で開いている 2 つのファイルの位置を (分割して) 入れ替えるにはどうすればよいでしょうか? 質問する

vim で開いている 2 つのファイルの位置を (分割して) 入れ替えるにはどうすればよいでしょうか? 質問する

vim で分割の任意のレイアウトがあると仮定します。

____________________
| one       | two  |
|           |      |
|           |______|
|           | three|
|           |      |
|___________|______|

one同じレイアウトを交換して維持する方法はありますかtwo? この例では簡単ですが、より複雑なレイアウトに役立つソリューションを探しています。

アップデート:

もっと明確にすべきだと思います。前の例は実際の使用例を簡略化したものです。実際のインスタンスは次のようになります。代替テキスト

同じレイアウトを維持しながら、これらの分割の 2 つを交換するにはどうすればよいでしょうか?

更新!3年以上経って…

sgriffin のソリューションを、簡単にインストールできる Vim プラグインにしました。お気に入りのプラグイン マネージャーでインストールして試してみてください。ウィンドウスワップ.vim

ちょっとしたデモ

ベストアンサー1

まず、次のようになります。

____________________
| one       | two  |
|           |      |
|           |______|
|           | three|
|           |      |
|___________|______|

アクティブウィンドウを「3」にして、コマンドctrl+を発行しますw J。これにより、現在のウィンドウが画面の下部いっぱいに移動し、次のようになります。

____________________
| one       | two  |
|           |      |
|___________|______|
| three            |
|                  |
|__________________|

次に、「1」または「2」のいずれかをアクティブ ウィンドウにして、コマンドctrl+を発行しますw r。これにより、現在の行のウィンドウが「回転」し、次のようになります。

____________________
| two       | one  |
|           |      |
|___________|______|
| three            |
|                  |
|__________________|

次に、アクティブ ウィンドウを '2' にして、コマンドctrl+を発行しますw H。これにより、現在のウィンドウが画面の左側いっぱいに移動し、次のようになります。

____________________
| two       | one  |
|           |      |
|           |______|
|           | three|
|           |      |
|___________|______|

ご覧のとおり、この操作は少々シャッフル的です。ウィンドウが 3 つあると、まるで「タイル ゲーム」パズルのようです。ウィンドウが 4 つ以上ある場合は、この操作はお勧めしません。ウィンドウを閉じてから、希望の位置で再度開く方がよいでしょう。

私はスクリーンキャストを作成したVim で分割ウィンドウを操作する方法

おすすめ記事