異なるプロジェクトで同時に作業する必要がある場合、次のワークフローがあります。
- プロジェクトごとに1つのタブを作成します。
- 各タブで、編集するファイルを開きます。これにより、いくつかのバッファーが作成されます。
- オプションとして、2つ(またはそれ以上)のファイルを同時に表示する必要がある場合は、分割ウィンドウを作成して、1つのバッファーを表示する異なるウィンドウを含むタブを作成します。
バッファ間を移動するために、実際には使用せず:ls
、:b [name or number of buffer]
代わりに:bnext
とでバッファを切り替えることができる便利なマッピングを作成しました:bprevious
この方法は非常に優れていますが、気になることがあります。バッファはタブ間で共有されます。
開いfile1
てfile2
、tab1
そしてfile3
でtab2
、そしてで、tab1
何度か使ったら、このタブに見たくないもの:bnext
が表示さfile3
れます。私が取得したいワークフローは次のとおりです:
- vimを起動します(最初のタブにバッファがあります):
$ vim foo
- このタブにバッファーを追加します。
:e bar
- 新しいタブを開いて切り替えます:
:tabnew
- このタブで新しいバッファーを開きます。
:e baz
- 私はこのバッファ内に滞在し、行う場合
:bnext
や:bprevious
、私はにとどまるだろうbaz
(それは、このタブでは唯一のものであるため)、バッファ - 前のタブに移動して
:tabprevious
何度か実行すると、とバッファー:bnext
のみを切り替えますが、表示されませんfoo
bar
baz
だからここに私の質問が来ます:バッファーのセットをタブにバインドし、vimが意図されているものとは別のタブからいくつかのバッファーへのアクセスを禁止することは可能ですか?
注:使用:b [myBuffer]
することでバッファをタブに保持する方法になることは承知していますが、編集するファイルが3つまたは4つある場合は、バッファ名を入力するよりもマッピングを使用する方が本当に速いと感じます(可能な場合でも)バッファ名に一致するいくつかの文字のみを入力します)。
alt+tab
。