私がこのようにvimを始めたとしましょう:
vim foo bar
次に、これらの各ファイルを独自のタブに配置することにします。 vimを終了して-p
オプションをコマンドラインに追加せずにそれを行う方法はありますか?
そのように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
を入力します。
バッファを常に独自のタブにロードしたい場合は、 この記事 をチェックしてください。
新しいタブでバッファを開きたいですか?
画面を分割し(Ctrl-W s)、ウィンドウを表示し、Ctrl-W T
まず、新しいタブで開きたいバッファのバッファIDを知る必要があります。 ls
コマンドでこれを見つけることができます:
:ls
1 %a "foo" line 1
2 "bar" line 0
IDを取得したら、次を使用して新しいタブで簡単に開くことができます。
:tab sb 2
sb
コマンドは通常、指定されたバッファーを新しい分割ウィンドウで開きますが、tab
コマンドは、代わりに新しいタブで開きます。
tab
コマンドを使用すると、タブリストのどこに新しいタブを作成するかを指定することもできます。例えば、 :0tab sb 2
を指定すると、新しい「バー」タブが現在のタブの後ではなく、リストの最初に表示されます。
OPが要求したことを達成するためのより良い方法はこれです:
:bufdo tab split
これにより、いくつあっても、各バッファが独自のタブに開かれます。これだけ使用すると、.vimrcで簡単にマッピングを作成できます。 this little vim plugin のようなものと組み合わせると、以下は:grep
(または :Ack )のすべてのアイテムを開きます独自のタブ:
:grep foo
:QuickFixOpenAll
:bufdo tab split
もちろん、プラグインを使用する場合、プラグインを変更して、クイックフィックスリストのコンテンツを直接タブに開くのは簡単です。
[〜#〜] update [〜#〜]:以下のggustafssonのコメントに大声でコメントする必要があります。これは、多くのベストアンサーであり、Vimの作曲行動に対する傾向を美しく示しています。提案は次のとおりです。
:tab sball
1。 Vimで2つのファイルを開きます。
$ vim foo bar
2。バッファの数を確認します。
:ls 1%a "foo" 2 "bar"
。 2つのコマンドをチェーンします:tabnew
は新しいタブを開き、b <buffer_number>
は、目的のバッファをタブにロードします。
:tabnew | b 2
他の人が言及しなかったいくつかのポイントを追加してください。
複数のウィンドウがある場合、<C-W>T
は、このウィンドウを新しいタブに移動します。ただし、このショートカットは「バッファ」ではなく「ウィンドウ」専用です。このスタイルを好む場合は、:sp
または<C-W>s
現在のバッファをもう1つのウィンドウに複製し、次に<C-W>T
をクリックして新しいタブに移動します。
4キーストロークまたは7キーストローク。
:tabe %
現在のバッファの新しいタブを開きます。
7回のキーストローク。
CtrlPプラグインを使用する場合、 "CtrlPBuffer"も使用でき、次に<C-t>
新しいタブページで開くショートカット。このスタイルは、簡単に別のバッファに切り替えることができます。
「CtrlPBuffer」のショートカットで、4回以上のキーストローク。