← Vim研究所

Vimで今のウインドウ以外を閉じる方法(Ctrl-w o / :only)

2019-12-17 公開 ・ 更新: 2026-08-05

参照用に何枚もウインドウを分割して調べものをした後、最終的に1枚だけ残して集中したくなることがあります。1枚ずつCtrl-w cで閉じていくより、一発で「これ以外全部閉じる」コマンドを使うほうが速く済みます。

目次(8項目)
キーこれだけ覚える
Ctrl-w o / Ctrl-w Ctrl-o今のウインドウ以外を全部閉じる
:only / :on同上(コマンド版)
:only!未保存の変更があっても強制的に閉じる
:tabonly他のタブページを全部閉じる

キーバインドで実行する

Ctrl-w o
Ctrl-w Ctrl-o
BEFORE
┌──A──┬──B──┐
│     │*    │
├──────┴─────┤
│      C     │
└─────────────┘
Ctrl-w o
AFTER
┌─────────────┐
│      *      │
│      B      │
│             │
└─────────────┘

oは「Only」の頭文字です。Ctrl-w oだとCtrlキーを一度離す必要がありますが、Ctrl-w Ctrl-oならCtrlキーを押しっぱなしのままwoを押せるので、こちらのほうが手が楽に感じる人も多いです。カウントを指定すると、その数のウインドウだけを残す挙動になります。

コマンドで実行する

:only
:on

コマンドの場合、短縮形の:onを覚えておくと入力が楽になります。

要点:カレントウインドウをスクリーン上唯一のウインドウにし、他は全て閉じます。ファイル・バッファ自体が削除されるわけではありません。

閉じられたウインドウのバッファはどうなるか

他のウインドウが閉じられても、そこで表示していたファイル・バッファ自体が消えるわけではありません。未保存の変更がある場合の挙動は'hidden'オプションの設定次第で変わります。

状況結果
'hidden'がオン変更を保持したまま隠れバッファとして残り、:onlyは成功する
'hidden''autowrite'とも オフ編集中のバッファを表示しているウインドウが閉じられず、:only自体が失敗する(うっかり変更を失う心配は少ない)

この挙動はウインドウを閉じる4つの方法の記事で紹介した:closeと同じ考え方になっています。

強制的に閉じたい場合

:only!
:on!

!を付けると、編集中のバッファがあっても強制的に隠れ状態にして閉じます。バッファの中身自体が削除されるわけではないので、:oldfiles:lsから後で開き直せます。

タブ単位で他のタブを整理したい場合

:onlyはあくまでカレントタブページ内のウインドウにしか作用しません。複数のタブページ自体を整理したい場合は、代わりに:tabonly(短縮形:tabo)を使います。カレントタブページ以外の全タブページを閉じる、という違いがあります。

:tabonly
:tabo

使いどころ

複数のファイルを参照しながら1つのファイルを編集していて、いよいよ編集に集中したいというタイミングでよく使います。分割を全部個別に閉じるより、:onlyで一気に整理したほうが手数が少なくて済みます。調査用に開いたウインドウが5枚あっても、1コマンドで本来の作業画面に戻れるのが利点です。

使ってみて

複数の参照ファイルを開いて調査した後、結論が出たら:onlyで一気に画面を片付けてから本命のファイルに集中する、という流れが定着しています。閉じたファイルもバッファとして残っているので、必要になったら:lsやoldfilesですぐ呼び戻せて安心して使えます。

まとめ

今のウインドウだけを残したいときはCtrl-w Ctrl-oまたは:on。閉じたウインドウのバッファは消えないので、気軽に使えます。

関連記事

← Vim研究所 トップへ戻る