[Vim問題] バッファとウインドウとタブの違いは?

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

この記事では、なんとなく使っているけど改めて聞かれるとわからなそうなVim用語のうち、「バッファ」「ウインドウ」「タブ」について、ご紹介します。

よく混同して話題にしてしまいますが、しっかりと区別できるようにしておきましょう。

スポンサーリンク

解答 タブ ⊇ ウインドウ⇔バッファ

これら3つの関係を簡単に図にすると、次のようになります。

バッファ、ウインドウ、タブの関係図

Vimの「バッファ」とは

開いてメモリに展開したファイルの中身です

メモリに展開という点がポイントで、バッファには次のようにいくつか状態があります。

  • アクティブ(表示された状態)
  • 隠れ(非表示が、メモリに読み込まれている)
  • 非アクティブ(非表示かつ読み込まれていない)

メモリ展開 ≠ 表示状態 というところがVimらしいところです。

バッファ一覧( :ls )を見れば、ここで示している状態が分かると思います。

バッファ一覧
バッファ一覧

Vimの「ウインドウ」とは

バッファを表示する領域(枠)です。

一つのウインドウを分割して複数のウインドウを表示したり、1つのバッファを複数のウインドウに表示したりできます。

バッファと関連が深い一方、等しくはない点に注意が必要です。

Vimの「タブ」とは

ウインドウの集合です。ウインドウを配置した領域とも言えます。

一つのタブの中で、1つ以上のウインドウをレイアウト(配置)することができます。

タブとウインドウの一覧 (:tabs) を見れば、それらを確認できます。

タブとウインドウの一覧
タブとウインドウの一覧

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

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

関連するVimヘルプ

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

. はじめに                                     windows-intro window

要約:
   バッファとはメモリに保持しているファイルの内容である。
   ウィンドウとはバッファの表示領域である。
   タブページとはウィンドウを集めたものである。

ウィンドウはバッファの表示領域である。1つのバッファに対して複数のウィンドウを
開くことができるし、異なる複数のバッファに対して複数のウィンドウを開くこともで
きる。

バッファは編集時にメモリ上にロードされたファイルのことを言う。
オリジナルのファイルはバッファ内容をそのファイルに上書きするまで変更されずにい
る。

バッファは以下の3つの状態のうちのどれか1つの状態にある。

active-buffer
アクティブ:   バッファ内容はウィンドウに表示されている。このバッファに対応する
              ファイルが存在する場合、ファイルがバッファに読み込まれている。
              バッファはそれ以降編集されていて、ファイルと異なっているかもしれない。
hidden-buffer
隠れ(hidden): バッファ内容はウィンドウに表示されていない。このバッファに対応す
              るファイルが存在する場合、ファイルはバッファに読み込まれている。
              見ることができないが、それ以外はアクティブなバッファと同じ。
inactive-buffer
非アクティブ: バッファ内容はウィンドウに表示されていない。バッファには何もロー
              ドされていない。ファイルが一度でもメモリにロードされていたなら、
              そのバッファのオプションは記憶されている。viminfoファイルにより
              マークを含んでいるかもしれない。

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

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

:help windows-intro
:help window

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

Vimに関する参考書籍

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力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。

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

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

\フォローする/
Vim設定
\ シェアする /
\フォローする/
スポンサーリンク
関連記事
Vim入門
タイトルとURLをコピーしました