Vimのタブページはとても便利です。
例えばウィンドウを分割して複数のファイルを並行してにらめっこしていたとしましょう。
その最中に誰かからの依頼等で全く関係のない作業をやることになったとします。
このとき、
という形で中断された作業をスムーズに再開することができます。
やりましたね。
しかし、これだけではまだタブページを全力全開で活用しきっているとは言えないのではないでしょうか。
例えば以下のような状況を考えてみましょう:
このような状況で効率良く開発する方法は色々あると思いますが、
その一つとして
「プロジェクト毎に専用のタブページを用意して作業する」
というものがあります。
この例で言えばA用のタブページとB用のタブページをそれぞれ用意して、
各プロジェクトのファイルは専用のタブページでのみ開くということです。
ひとつのタブページ内で双方のプロジェクトのファイルを開いているとどこにどのファイルが表示されているのか混乱しがちだからです。
ただこの方式にはひとつ問題があります。
例えばAは ~/project/a
に、Bは ~/project/b
にあるとしましょう。
~/project/a
に切り替えておけばAのファイルを開いたり :grep
するのが簡単になります。~/project/b
ではないため、:grep
するには適宜追加のパスを入力しなければならず、面倒です。理想としては タブページ毎にカレントディレクトリを設定 できれば良いのですが、
あいにくそのような機能はVimには存在しません。
似たような機能としては :lcd
があるのですが、
これはウィンドウ毎にカレントディレクトリを設定するコマンドなので、
これでは切り替える単位が細かすぎて不便です。
どうすればよいでしょうか。
vim-tabpagecd を使います。
このプラグインをインストールすると :cd
がタブページ単位で機能するようになります。
何も設定する必要はありません。
やりましたね。
このプラグインは実質10行程度の簡単な作りになっていますので、
Vimプラグイン作成のとっかかりにもちょうど良いでしょう。
次回は Emacs 編です。