Vim操作方法

[Vim問題] カーソルのあるウインドウ以外を閉じる3つの方法とは?

この記事では、Vim / neovim でプラグインを使わずに「今開いているウインドウ以外を閉じる」ためのキーバインドやコマンドについて、ご紹介します。

[解答] Ctrl-w o / Ctrl-w Ctrl-o / :only

Vimキーバインド1

(ノーマルモード)
Ctrl-w o

Ctrl-w でウインドウ関連のキーバインドを表しますが、これに Only の o を加えると覚えます。

ただ、この場合はCtrlキーを手から外すのが煩わしく感じるので、次のキーバインドを活用したほうが良いでしょう。

Vimキーバインド2

(ノーマルモード)
Ctrl-w Ctrl-o

こちらの方がキー操作として覚えやすいかも知れません。

Ctrl キーを押しながら Window の w と Only の o を押すわけです。

Vimコマンド

(ノーマルモード)
:only

コマンドでやりたい方はこちらをどうぞ。覚えやすい反面、ちょっと煩わしい…と思いきや短縮形があります。

(ノーマルモード)
:on

このVimキーバインドの補足情報

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

関連するVimヘルプ

Vimのヘルプでは次のように紹介されています。

:on[ly][!]
:{count}on[ly][!]
CTRL-W o                                                CTRL-W_o E445
CTRL-W CTRL-O                                   CTRL-W_CTRL-O :on :only
                カレントウィンドウをスクリーン上にある唯一のウィンドウにする。
                他の全てのウィンドウは閉じられる。 {count} については :quit
                コマンドを参照。

‘hidden’ オプションがセットされていれば、閉じられた全てのバッ
                ファは隠れ状態(hidden)となる。

‘hidden’ オプションがセットされておらず、‘autowrite’ オプショ
                ンがセットされている場合は、編集中のバッファは保存される。さも
                なければ、編集中のバッファを表示しているウィンドウは閉じられる
                ことはない。ただし[!]が与えられていれば、それらのバッファは隠
                れ状態(hidden)となる。しかし、編集中のバッファは決して削除され
                ないので、変更は失われない。

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

こちらは、Vim上から下記のキーバインドでヘルプを確認できます。

:help CTRL-W_o
:help CTRL-W_CTRL-O
:help :only
:help :on

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

参考書籍

初級Vimmerの皆様には、こちらの書籍が参考になります。


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


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

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

プロフィール
管理人
Vim太郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

\フォローする/
\ シェアする /
\フォローする/
関連記事
Vim入門
タイトルとURLをコピーしました