Vimのウィンドウ操作

ウィンドウについての主な操作のまとめ
(「VimでのSchemeプログラミング」に追記したもの)

コマンドラインから
複数ウィンドウで開くvim -o {file1} {file2} ...vim -O {file1} {file2} ...
ウィンドウを分割/開く
ウィンドウを二分割
(新規ウィンドウの高さ(幅)をNで)
C-w s
C-w v
C-w C-v
:[N]sp[lit]:[N]vs[plit]
新規ウィンドウでファイルを開く:[N]new {file} :[N]vne[w] {file}
:[N]sp[lit] {file}:[N]vs[plit] {file}
新規ウィンドウで空ファイルを開くC-w n
C-w C-n
:[N]new:[N]vne[w]
ウィンドウを終了/閉じる
カレントウィンドウを終了C-w q
C-w C-q
:q[uit]
カレントウィンドウを閉じるC-w c
:clo[se]
カレントウィンドウ以外を閉じるC-w o
C-w C-o
:on[ly]
全てのバッファへの操作
各バッファにウィンドウを一つ割り当て:ba[ll]
全てのバッファを書き込み:wa[ll]
全てのバッファを終了:qa[ll]
全てのバッファを書き込んで終了:wqa[ll]
その他のバッファ操作
バッファリストを見る

(!を付けると削除したバッファも表示)
%現在バッファaアクティブ+変更あり
#前バッファh隠れ
その他非アクティブ
:files[!]
:buffers[!]
:ls[!]
カレントウィンドウ新規ウィンドウ
N番バッファを表示:Nb[uffer]:Nsb[uffer]
:sb[uffer] N:sb[uffer] N
次のバッファを表示(「N個先」の指定も可能):bn[ext]:sbn[ext]
前のバッファを表示(「N個前」の指定も可能):bN[ext]:sbN[ext]
:bp[revious]:sbp[revious]
最初のバッファを表示:br[ewind]:sbr[ewind]
:bf[irst]:sbf[irst]
最後のバッファを表示:bl[ast]:sbl[ast]
N番バッファをリストから削除:Nbd[elete]
:bd[elete] N
ウィンドウ間の移動
別のウィンドウへ(順方向)C-w C-w
C-w w
別のウィンドウへ(逆方向)C-w W
別のウィンドウへ
C-w ←C-w ↓C-w ↑C-w →
C-w hC-w jC-w kC-w l
C-w C-hC-w C-jC-w C-kC-w C-l
一番左上のウィンドウへC-w t
C-w C-t
一番右下のウィンドウへC-w b
C-w C-b
ウィンドウの大きさを変更
カレントウィンドウを大きくC-w +C-w >
:res[ize] +N:vertical res[ize] +N
カレントウィンドウを小さくC-w -C-w <
:res[ize] -N:vertical res[ize] -N
カレントウィンドウの大きさをNに:res[ize] N:vertical res[ize] N
ウィンドウの大きさをそろえるC-w =
ウィンドウの位置の入れ替え
次位置のウィンドウと入れ替えC-w x
C-w C-x
ウィンドウ位置を回転(順方向)C-w r
C-w C-r
ウィンドウ位置を回転(逆方向)C-w R
カレントウィンドウを端へ移す
C-w HC-w JC-w KC-w L