[Vim問題] ウインドウを入れ替える方法は?

この記事は約11分で読めます。

この記事では、Vim / neovim でプラグインを使わずに「ウインドウを入れ替える」ためのキーバインドについて、ご紹介します。

スポンサーリンク

[解答] Ctrl-w r / Ctrl-w R

Vimはウインドウ分割を気軽にできるのは利点の1つですが、一発で自分の考えるレイアウトにするには慣れが必要です。また、狙った場所にウインドウを配置したいと思っても、開いて閉じて開いて...とやっていくのはスマートではありません。

そこで、分割したウインドウを自由自在に入れ替えられるようになりましょう。

Vimウインドウの入れ替え

ウインドウを上下左右に移動するには、こちらのキーバインドになります。

キー操作実行内容
Ctrl-w r
Ctrl-w Ctrl-r
ウインドウ位置を下/右へ回転させる
(同じ段/列のみ)
Ctrl-w Rウインドウ位置を上/左へ回転させる
(同じ段/列のみ)
Ctrl-w x
Ctrl-w Ctrl-x
次のウインドウと入れ替える

なかなか字面ではわかりづりらいと思いますが、次の動画を見るとわかるはずです。

ウインドウを左右に入れ替える
ウインドウを左右に入れ替える

たくさんあるとウインドウがあると左右のみで、上下には移動できません。ウインドウが2つしか無ければ、上下に移動させることができます。

ウインドウを上下に入れ替える
ウインドウを上下に入れ替える

このように入れ替えで左右の位置は変更できます。上下は仕方がないかもしれません。しかし、狙ったウインドウ分割のレイアウトにするには、次の方法も知っておく必要があります。

Vimウインドウのレイアウト変更

キー操作実行内容
Ctrl-w Kウィンドウを最上段に移動し、幅を最大にする
Ctrl-w Jウィンドウを最下段に移動し、幅を最大にする
Ctrl-w Hウィンドウを最左列に移動し、幅を最大にする
Ctrl-w Lウィンドウを最右列に移動し、幅を最大にする
Ctrl-w Tウィンドウを新しいタブページへ移動する

こちらも字面では分かりづらいですが、次の動画を見れば理解できるはずです。

ウインドウを上下左右の端に移動して最大化
ウインドウを上下左右の端に移動して最大化

このVimコマンドの補足情報

  • 利用頻度2.0
  • 便利さ3.0
  • 覚え易さ4.0

関連するVimヘルプ

Vim のヘルプでは下記のように解説されています。

5. ウィンドウの移動                                     window-moving

CTRL-W r                                CTRL-W_r CTRL-W_CTRL-R E443
CTRL-W CTRL-R   ウィンドウ位置を下/右へ回転させる。1番のウィンドウは2番目に、
                2番目のウィンドウは3番目になる。最後のウィンドウは1番になる。
                カーソルは同じウィンドウにとどまる。
                この移動はカレントウィンドウと同じ段/列の中だけで行われる。

CTRL-W_R
CTRL-W R        ウィンドウ位置を上/左へ回転させる。1番のウィンドウは2番目に、
                2番目のウィンドウは3番目になる。最後のウィンドウは1番になる。
                カーソルは同じウィンドウにとどまる。
                この移動はカレントウィンドウと同じ段/列の中だけで行われる。

CTRL-W x                                        CTRL-W_x CTRL-W_CTRL-X
CTRL-W CTRL-X   カウント指定なし: カレントウィンドウと次(1つ下)のウィンドウを
                入れ替える。次のウィンドウがない(カレントウィンドウが一番下の)
                場合は、前(1つ上)のウィンドウと入れ替える。
                カウント指定有り: カレントウィンドウと上からN番目のウィンドウ
                (一番上は1番目)を入れ替える。カーソルは入れ替えた相手のウィン
                ドウに移動する。
                水平分割と垂直分割が混ざっている場合には、カレントウィンドウと
                同じ段/列の中だけで入れ替えが行われる。

以下のコマンドはウィンドウのレイアウトを変更するために使える。例えば、2つの垂
直分割されたウィンドウがある場合、CTRL-W K はそれらを水平分割に変更する。
CTRL-W H はその逆を行う。

CTRL-W_K
CTRL-W K        カレントウィンドウを最上段に移動し、幅を最大にする。これは、カ
                レントウィンドウを閉じ、それから "topleft split" で別のウィン
                ドウを作るのと同様で、違いは新しいウィンドウにカレントウィンド
                ウの内容が表示されるということだけである。

CTRL-W_J
CTRL-W J        カレントウィンドウを最下段に移動し、幅を最大にする。これは、カ
                レントウィンドウを閉じ、それから "botright split" で別のウィン
                ドウを作るのと同様で、違いは新しいウィンドウにカレントウィンド
                ウの内容が表示されるということだけである。

CTRL-W_H
CTRL-W H        カレントウィンドウを最左列に移動し、高さを最大にする。これは、
                カレントウィンドウを閉じ、それから ":vert topleft split" で別
                のウィンドウを作るのと同様で、違いは新しいウィンドウにカレント
                ウィンドウの中身が使われるということだけである。

CTRL-W_L
CTRL-W L        カレントウィンドウを最右列に移動し、高さを最大にする。これは、
                カレントウィンドウを閉じ、それから ":vert botright split" で別
                のウィンドウを作るのと同様で、違いは新しいウィンドウにカレント
                ウィンドウの中身が使われるということだけである。

CTRL-W_T
CTRL-W T        カレントウィンドウを新しいタブページへ移動する。カレントタブ
                ページにウィンドウが1つしかないときは、このコマンドは失敗す
                る。カウントが指定されると、その番号のタブページの前に新しいタ
                ブページが開く。指定されないときはカレントタブページの後ろに開
                く。

windows - Vim日本語ドキュメント

こちらは、Vim上では下記のコマンドでヘルプを確認できます。

:help window-moving
:help CTRL-W_r
:help CTRL-W_CTRL-R
:help CTRL-W_R
:help CTRL-W_x
:help CTRL-W_CTRL-X
:help CTRL-W_K
:help CTRL-W_J
:help CTRL-W_H
:help CTRL-W_L
:help CTRL-W_T

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

Vim関連の参考書籍

こちらの書籍が参考になります。

古くて新しいUnixのエディタVim――このVimのエディタとしてのコア機能をマスターするためのレシピ集

Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。

Vimは開発者やサーバ管理者だけでなく,幅広いユーザをカバーする強力なテキストエディタです。本書は「もう少し文字入力を楽にしたい」「バッファ操作をもっと強化したい」といった誰しもが抱く要望を,ちょっとしたテクニックやプラグインの導入で改善する「作業効率に特化した逆引きリファレンス」です。日本で名立たる有数のVimハッカーがあらゆる角度から150のTipsを紹介します。さらに最終章では,「anything.el」のVim版である「unite.vim」を作者自ら詳しく解説しています。

こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。

普段Vimを使っている人を対象に,カスタマイズをする際,ちょっとしたことをスクリプトで書く手助けとなる本を企画します。便利さを知ると既存のプラグインをカスタマイズしたり,自分でスクリプトを書いて,自分の使いやすいようにVimエディタを強化したいという欲が出てきます。そこで初心者にも教科書として使えるようにVim scriptの基礎から丁寧に解説します。

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。

タイトルとURLをコピーしました