第 5 章:ウィンドウ分割とタブ
まず、混同しやすい三つの概念を分けます。
- バッファ:編集のためメモリへ読み込まれたテキスト
- ウィンドウ:バッファを表示する表示領域
- タブページ:一つ以上のウィンドウを含むレイアウト
同じバッファを二つのウィンドウに表示でき、一つのタブページに複数のウィンドウを 置けます。Vim のタブは「1 タブ = 1 ファイル」ではありません。
ウィンドウ分割
別の文書を参照しながら現在の文書を編集したり(翻訳など)、別の文書からコードを コピーしたりする場面はよくあります。たとえば HTML 要素の class 名を CSS 文書へ コピーするときです。こうした場合に画面分割が役立ちます。
分割する
:split(省略形:sp)またはCtrl-w s上下に分割:vsplit(省略形:vs)またはCtrl-w v左右に分割:diffsplit(省略形:diffs)差分モードで分割。後ろに{filename}を指定可能
ウィンドウ間を移動する
Ctrl-w w次のウィンドウをアクティブにするCtrl-w j下のウィンドウをアクティブにするCtrl-w k上のウィンドウをアクティブにするCtrl-w h左のウィンドウをアクティブにするCtrl-w l右のウィンドウをアクティブにする
分割ウィンドウを移動する
Ctrl-w L右端へ移動Ctrl-w H左端へ移動Ctrl-w K最上部へ移動Ctrl-w J最下部へ移動
注意:大文字と小文字は区別されます。たとえば下側のウィンドウを右端へ移動すると、 上下分割を左右分割へ変換できます。
ウィンドウの大きさを変える
Ctrl-w =すべて同じ大きさにするCtrl-w +高さを増やすCtrl-w -高さを減らすCtrl-w _高さを最大にするCtrl-w >幅を増やすCtrl-w <幅を減らすCtrl-w |幅を最大にする
練習、練習、そして練習です!
:splitを実行し、二つのウィンドウを別々にスクロールしてください。同じバッファ の二つの表示です。片方で編集するともう片方にも反映されます。uで元に戻し、Ctrl-w cで現在のウィンドウを閉じます。
タブページ
タブページは、コードとテスト、文書とログなど、異なるウィンドウ構成を保存するのに 適しています。ファイルを切り替えるだけなら、第 2 章のバッファを 使うほうが直接的です。
タブを作成する
:tabnewまたは:tabedit(省略形:tabe)新しいタブを開くCtrl-w gfカーソル位置のファイル名を新しいタブで開く
注意::tabnew と :tabedit の後ろには <space><filename> を指定でき、その ファイルを新しいタブで開けます。また : の後ろに数値を付けると、タブ一覧内の 作成位置(0 始まり)を指定できます。
タブを切り替える
gtまたは:tabnext(省略形:tabn)次のタブへ移動。末尾から先頭へ循環gTまたは:tabprevious(省略形:tabp)前のタブへ移動。先頭から末尾へ循環:tabrewind(省略形:tabr)または:tabfirst(省略形:tabfir)最初へ移動:tablast(省略形:tabl)最後のタブへ移動
タブを閉じる
:tabclose(省略形:tabc)現在のタブを閉じる:-tabc前のタブを閉じる:+tabc次のタブを閉じる:tabonly(省略形:tabo)現在以外のタブを閉じる
:tabnew chapter01.md、:vsplit chapter02.mdの順に実行してください。gtで タブページ間、Ctrl-w wで現在のタブ内のウィンドウ間を移動します。最後に:closeと:tabcloseを実行して本章へ戻ります。
次の章ではブロック操作を扱います。