Hack #25: タブページで複数の画面を管理する
Posted at 2009/06/12ツイート
Vim にはタブページという機能が備わっています。タブページを利用することで、複数のファイルがより扱いやすくなります。本 hack ではタブページの特徴と基本的な操作について紹介します。
タブページの特徴
タブページは 1 つまたは複数のウィンドウを持つことができ、複数のタブページを用意してそれらを切り替えることで複数の画面を簡単に切り替えることができます。例えば全てのタブページに単一のウィンドウのみを表示するようにすると、いわゆるタブエディタのような動作になります。
通常、現在開いているタブページのリストが Vim のウィンドウの最上部に表示されます。ここで通常と言っているのは、設定によって表示しないようにすることもできるからです。このオプションは後述します。初期設定では、各タブページのラベルにはそのタブページで開いているウィンドウの数とそのタブページ内でアクティブなウィンドウに開かれているバッファ名を省略したものが表示されます。
タブページが導入されたのは Vim 7 からですが、それ以前からもプラグインによってタブエディタのような動作をエミュレートすることはできました。タブページは以下の点でプラグインによるエミュレートより優れています。
- ウィンドウのレイアウトが保存される
 - ウィンドウの分割状態や各ウィンドウの状態(カーソルの位置やオプションの値等)は各タブページで独立しているのでタブページを切り替えても失われません。
 - 保存をしなくても非表示にできる
 - 
				  通常編集中のバッファを非表示にするには 
'hidden'などを使用しなくてはいけませんが、タブページを切り替えるだけなら保存する必要はありません。 
タブページ番号
タブページにはその位置によって一番左のタブページから、1 から順に番号が振られています。タブページ番号はタブページを操作するコマンドで必要になります。タブページの順序が変わったり途中にあるタブページを閉じたとしても、番号はそのタブページの位置に依存します。
基本操作
				タブページを扱う際の基本的なコマンドを紹介します。詳しくは help(:help tabpage) にまとめてられているので、ここでは簡単に紹介するのに止めます。
タブページを開く
:[count]tabedit [file]:[count]tabnew [file]- 新しいタブページを開きます。ファイルを指定するとそのファイルを新しいタブページで開きます。 [count] を指定しなかった場合は現在表示しているタブページの右に新しいタブページを開きます。 [count] を指定すると指定したタブページの右に新しいタブページを開きます。 0 で先頭にタブページを開きます。
 
タブページを閉じる
:tabclose [count]- 現在表示しているタブページを閉じます。[count] を指定するとその番号のタブページを閉じます。最後のタブページは閉じることはできません。
 :tabonly- 現在表示しているタブページ以外を全て閉じます。
 
タブページを切り替える
:tabnext [count]- [count]<C-PageDown>
 - [count]gt
 - 次のタブページへ移動します。[count] を指定するとその番号のタブページへ移動します。
 :tabprevious [count]:tabNext [count]- [count]<C-PageUp>
 - [count]gT
 - 前のタブページへ移動します。[count] を指定するとその数だけ前のタブページへ移動します。この動作は「次のタブページへ移動する」コマンドと違うので注意してください。
 :tabrewind:tabfirst- 最初のタブページへ移動します。
 :tablast- 最後のタブページへ移動します。
 
タブページを移動する
:tabmove [count]- 現在のタブページを移動します。[count] の意味は 
:tabnewと同じです。 
その他のコマンド
:[count]tab {cmd}- 
				  コマンドを実行し、そのコマンドが新しくウィンドウを作成するときは新しいタブページを作成します。
				  [count] の意味は 
:tabnewと同じです。 :tabs- タブページと、含まれているウィンドウの一覧を表示します。
 :tabdo {cmd}- タブページごとにコマンドを実行します。詳しくは Hack #21: 複数のバッファを一度に変更する – :bufdo編 を参照してください。
 
タブページに関するオプション
'showtabline'- 
				  いつタブページのラベルを表示するかを指定します。
表示されない場合でもタブページ自体がなくなるわけではありません。デフォルトは 1 です。0 常に表示しない 1 タブページが 1 つしかない場合は表示しない 2 常に表示する  'tabpagemax'- 
				  -p オプション付きで Vim を起動した際や、
:tab all(引数リストを各タブページに開く) でタブを開く際の開くタブページの最大数です。一度に大量のタブページが開かれるのを防ぐためにあります。デフォルトは 10 です。 'tabline''guitablabel'- それぞれ CUI 環境、GUI 環境でのタブページのラベルの表示の仕方をカスタマイズします。 詳細は Hack #?: タブページのラベルをカスタマイズする(仮) を参照してください。
 'guioptions'の e フラグ- 
'guioptions'に e フラグが含まれると、GUI 環境においてタブページの表示にその環境に合ったものを使用します。e フラグは多くの環境でデフォルトで有効になっています。GUI 環境においても'tabline'によるテキストベースの表示を行いたい場合は、:set guioptions-=eとして e フラグを無効にします。 
タブページは非常に便利な機能なので、有効に活用すれば編集効率のアップに繋がります。是非積極的に利用してください。
thincaもどる
blog comments powered by Disqus