web-dev-qa-db-ja.com

vimの新しいタブで既存のバッファーを編集するにはどうすればよいですか?

私がこのようにvimを始めたとしましょう:

vim foo bar

次に、これらの各ファイルを独自のタブに配置することにします。 vimを終了して-pオプションをコマンドラインに追加せずにそれを行う方法はありますか?

51
innaM

そのようにvimを起動すると、vimクライアントが表示されず、テキストエディターはターミナルまたはcmdプロンプトを使用しています-2つのファイルは2つの異なるバッファーにあります。 :lsを使用して、バッファーをリストします。

:ls
  1 %a   "foo"                 line 6
  2      "bar"             line 0

%aはアクティブなバッファです。 :b2を使用してバッファ2に切り替えるか、:bnを使用して次のサイクルに切り替えるか、:bpを使用して前のサイクルに切り替えることができます。水平方向に分割する(CTRL-W s)よりも、ウィンドウを垂直方向に分割する方が(CTRL-W v)を好みます。

2つのファイルがロードされており、タブが(まだ)ない場合は、:tabnewを実行し、新しいタブに:b2を入力します。

バッファを常に独自のタブにロードしたい場合は、 この記事 をチェックしてください。

30
DaveParillo

新しいタブでバッファを開きたいですか?

画面を分割し(Ctrl-W s)、ウィンドウを表示し、Ctrl-W T

47
Rook

tab コマンドと sb[uffer] コマンド。

まず、新しいタブで開きたいバッファのバッファIDを知る必要があります。 ls コマンドでこれを見つけることができます:

:ls
  1 %a   "foo"                          line 1
  2      "bar"                          line 0

IDを取得したら、次を使用して新しいタブで簡単に開くことができます。

:tab sb 2

sbコマンドは通常、指定されたバッファーを新しい分割ウィンドウで開きますが、tabコマンドは、代わりに新しいタブで開きます。

tabコマンドを使用すると、タブリストのどこに新しいタブを作成するかを指定することもできます。例えば、 :0tab sb 2を指定すると、新しい「バー」タブが現在のタブの後ではなく、リストの最初に表示されます。

28
rkjnsn

OPが要求したことを達成するためのより良い方法はこれです:

:bufdo tab split

これにより、いくつあっても、各バッファが独自のタブに開かれます。これだけ使用すると、.vimrcで簡単にマッピングを作成できます。 this little vim plugin のようなものと組み合わせると、以下は:grep(または :Ack )のすべてのアイテムを開きます独自のタブ:

:grep foo
:QuickFixOpenAll
:bufdo tab split

もちろん、プラグインを使用する場合、プラグインを変更して、クイックフィックスリストのコンテンツを直接タブに開くのは簡単です。

[〜#〜] update [〜#〜]:以下のggustafssonのコメントに大声でコメントする必要があります。これは、多くのベストアンサーであり、Vimの作曲行動に対する傾向を美しく示しています。提案は次のとおりです。

 :tab sball

:tab および :sball のVimヘルプを調べて、ここで何が行われているのかを確認することは価値があります。

25
John Whitley

1。 Vimで2つのファイルを開きます。

 $ vim foo bar 

2。バッファの数を確認します。

:ls 
 1%a "foo" 
 2 "bar" 

2つのコマンドをチェーンします:tabnewは新しいタブを開き、b <buffer_number>は、目的のバッファをタブにロードします。

:tabnew | b 2 
6
Shamaoke

他の人が言及しなかったいくつかのポイントを追加してください。

  • 現在のウィンドウから新しいタブへ

複数のウィンドウがある場合、<C-W>Tは、このウィンドウを新しいタブに移動します。ただし、このショートカットは「バッファ」ではなく「ウィンドウ」専用です。このスタイルを好む場合は、:spまたは<C-W>s現在のバッファをもう1つのウィンドウに複製し、次に<C-W>Tをクリックして新しいタブに移動します。

4キーストロークまたは7キーストローク。

  • 新しいタブへの現在のバッファ

:tabe %現在のバッファの新しいタブを開きます。

7回のキーストローク。

  • 新しいタブにバッファ

CtrlPプラグインを使用する場合、 "CtrlPBuffer"も使用でき、次に<C-t>新しいタブページで開くショートカット。このスタイルは、簡単に別のバッファに切り替えることができます。

「CtrlPBuffer」のショートカットで、4回以上のキーストローク。

4
liuyang1