vim-users.jp

Hack #198: ウィンドウを開く方向を指定する

Posted at 2011/01/31
このエントリーをはてなブックマークに追加

:new:vsplit などのコマンドで新しいウィンドウを開くことができます。この時、水平分割なら上か下に、垂直分割なら左か右にそれぞれ新しいウィンドウが開かれることになります。

デフォルトの挙動を設定する

デフォルトでは、新しいウィンドウは上か左に開かれます。この挙動を変更するには、'splitbelow' オプションや 'splitright' オプションを設定します。それぞれウィンドウを下、右に開くようにするオプションです。

" 新しいウィンドウを下に開く
set splitbelow
" 新しいウィンドウを右に開く
set splitright

その場で指定して開く

ウィンドウを分割するコマンドを実行する際、修飾コマンドを付けることで分割方法を指定することができます。 {cmd} はウィンドウを分割する操作を含むコマンドです。そうでない場合は普通にコマンドが実行されます。

:vertical {cmd}
垂直分割をするようにします。例えば、:vertical split:vsplit のような動作になります。
:leftabove {cmd} :aboveleft {cmd}
水平分割なら上に、垂直分割なら左に新しいウィンドウを作ります。
:rightbelow {cmd} :belowright {cmd}
水平分割なら下に、垂直分割なら右に新しいウィンドウを作ります。
:topleft {cmd}
水平分割なら画面の一番上に、垂直分割なら画面の一番左に、それぞれ幅、高さが最大になるように新しいウィンドウを作ります。
:botright {cmd}
水平分割なら画面の一番下に、垂直分割なら画面の一番右に、それぞれ幅、高さが最大になるように新しいウィンドウを作ります。

これらのコマンドで分割方法が指定されていた場合、'splitbelow' 'splitright' オプションは上書きされます。 {cmd} は分割コマンドが直接指定される必要があります。:execute を使ったり、呼んだ関数内で分割コマンドが実行されても効果はありません。ただし、これらの修飾コマンドは複数指定することができます。

" 画面の一番左に新しいウィンドウを開く
:vertical topleft new
thinca

もどる
blog comments powered by Disqus