Vim複数ウィンドウ/非表示


9

VIMセッションでx以上のウィンドウを開いていて、アクティブなウィンドウ以外をすべてすぐにすぐに非表示にしたい場合は、ウィンドウを元のレイアウトに戻し、どのようにすればよいですか?


zoomwinプラグインがこれを行います。
Stabledog 2014

回答:


8

Vim 7以降では、このために「タブページ」(つまり「GUIスタイル」タブ)を使用できます。:tabコマンドは、:splitまたはのいずれかとともに使用できます:sbuffer

:tab split
:tab sp      " shorter version

:tab sbuffer
:tab sb      " shorter version

追加の引数なしで使用すると、どちらもほぼ同じことsplitsbuffer行います(現在のバッファーを分割します)。split一部の(おそらくまだロードされていない)パス名をロードする予定がある場合は、おそらく使用することになるでしょう(これは、新しいタブを開くコンテキストにあるため、代わりにsplit path/to/some/file使用でき:tabeます); sbuffer既存のバッファ(sb {bufnum}またはsb {bufname})への切り替えが簡単になります。

新しいタブを開いたら、gTおよびgtを使用して、結果のタブ(またはVimのGUIバージョンを使用している場合はGUIコントロール)を切り替えることができます。シングルウィンドウのタブが終了したら:q、ウィンドウ(およびタブ)を閉じて元のタブ(元のウィンドウレイアウト)に戻るか、:tabclose:tabc)を使用するか、元のタブに切り替えて使用します:tabonly:tabo)。


10

CTRL-W _を使用して、他のウィンドウを水平方向に「押し出し」、現在のウィンドウを使用可能な最大領域に拡大します。CTRL-Wを使用します。同じことを垂直に行います。おそらく両方同時に行う方法はおそらくあると思いますが、気づいていないか、探していません。:help CTRL-Wを見てください

それらを復元するには、CTRL-W =を実行します。ただし、元の構成に復元されないことに注意してください。CTRL-W =画面のすべてのウィンドウに最適なサイズを実際に再計算します。


実装するためのきちんとしたハックであることを確認してください。
MageProspero 2011

7

私の知る限り、2つの異なるウィンドウレイアウトを単純に切り替える方法はありませんが、コマンド:only(または:on)を発行して、他のすべてのウィンドウを非表示にすることができます。このコマンドについては、Vimのヘルプを参照してください。


2
これで以前のレイアウトに戻ることはできません。クリス・ジョンセンの答えは私たちにもそれをさせてくれます。
Phani
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.