分割ウィンドウを最大化するにはどうすればよいですか?


110

:helpVimで起動すると、分割ウィンドウ付きのヘルプマニュアルページが表示されました。ヘルプマニュアルウィンドウを最大化し、他のウィンドウを閉じたい。

これどうやってするの?これを行うVimコマンドは何ですか?

回答:


88

:ヘルプ[トピック]あなたは利害ことをトピックを開きます。
Ctrl-Woは他のウィンドウを最小化します(ヘルプウィンドウのみを開いたまま/最大化したままにします)。
(Ctrl-Woは、Ctrlキーを押しながらW、次にoを押すことを意味します)


39
または、:onlyがその仕事をします。
2010年

14
CTRL + W oを実行した後、編集ファイルからヘルプマニュアルに戻るにはどうすればよいですか?
2010年

3
@guru: 、C-w、、^ など(のヘルプを参照してください、詳細については)。私の(私見)というfunyの事がある、正しい答えはまだ与えられていなかった...:buf OtherFile.txt:sbuf Otherfile.txtwincmdswitchbuf
sehe

2
@ldigas:それは(驚くべき)意見です。あなたが評判の良い情報源を引用しない限り、私は本当にあなたの個人的な好みとしてそれを保持するつもりです。私は通常それらを使用していませんが、最近これらをこのようなタグに使用していることを発見しました(一時的にサイドバッファーを最大化します;単一のvimセッションで複数のバラバラなside-by-side diffを持っているような強力なことをしています)。タブは、のユーザビリティの奇跡でもありgvim --remoteます。se guioptions=agimただし、コンソールのようなタブのレンダリングを好むため、常に使用しています。
11

23
これにより他のウィンドウが閉じます。変更を加えて保存していないウィンドウが1つ以上ある場合、これは機能しません。また、ウィンドウを最大化して、その状態で短時間だけ機能するようにし、後でそれを行うことについても考えます。前の状態に戻る-すべてのウィンドウを閉じると、セッションファイルを使用するか、他のすべてのウィンドウを手動で開いて戻る必要があります
serup

133

あなたは採用することができるCtrl+WTそれは首都のT独自のタブに開いているすべてのウィンドウを移動します)。

他の人が述べたようにCtrl+W_/ Ctrl+W|現在のタブ/ウィンドウレイアウト内で最大化する(他のさまざまなウィンドウの最小の高さ/幅設定を尊重する)。

Ctrl+W=すべてのウィンドウを同じサイズにサイズ変更し、最小の高さ/幅の設定を尊重します)

コメントを編集

  1. vimを開始します(例gvim /tmp/test.cpp
  2. ヘルプを呼び出す:help various-motions-分割ウィンドウを開きます
  3. ヘルプを最大化した別のタブに移動します。 C-wT
  4. 細かいマニュアルを読んでお楽しみください :)
  5. ヘルプを元のタブに戻します。

    mAZZ<C-w>S`A
    
    • mA:グローバルマークAを設定
    • ZZ:ヘルプバッファ/タブを閉じる
    • C-wS:元のウィンドウを分割
    • `A:保存済みマークAにジャンプ

通常の(ヘルプではない)バッファーにマークを使用することを回避できます。興味があれば教えてください。


4
CTRL + WTでタブを取得した後、元の分割されたウィンドウに戻すにはどうすればよいですか?
明白に

2
@guru:いつものようにタブを切り替えるだけです(Ctrl-PgUpCtrl-PgDownまたは:tabnext、を使用:tabprev)。新を閉じる(例えばヘルプ)タブ、使用するにはZZCtrl-W, C:q:clo:tabcloseまたはウィンドウ/タブあなたが通常に近い他の方法
sehe

1
いいえ、それは問題ではありませんでした。2つのタブがあり、タブが不要になり、2つのバッファが分割ウィンドウとして必要になるとします。これを行うコマンドはありますか?
2010年

一般的な手順で質問を編集します。(私はあなたのコメントの口調がやや不親切に遭遇するかもしれないことを付け加えたいと思います。書かれた言語で"No, that was not the question"は、叱責として聞こえるかもしれません。あなたがそれをひどく意味していないと確信しています
sehe

@guru:回答を更新しました。ヘルプバッファーは特別なので(そして、:sbuf私が通常好むように使用することはできません)、予想よりも少しトリッキーでした。これがお役に立て
ば幸い

53

Ctrl+W_(アンダースコア)を使用して、ウィンドウを最大サイズに拡大できます。展開されたウィンドウの最終的なサイズは、winminheightオプションの値によって制約されます。ヘルプウィンドウを閉じると、以前のウィンドウが元のサイズに戻ります。


19
Ctrl+W o 他のウィンドウを閉じて、消えます。それが私がを使用する理由ですCtrl+W _
Greg Hewgill、2011年

2
編集ファイルとヘルプマニュアルを使用して、元の2つの分割ウィンドウに戻すにはどうすればよいですか?
2010年

3
このCtrl+W =コマンドは、ウィンドウのサイズを変更して、すべてがほぼ同じサイズになるようにします。
Greg Hewgill、2011年

14
垂直分割の場合は、を使用しますCtrl+W |
Achal Dave 2016

2
このスレッドで発生した失われた魂に…分割ビューに戻るには、ctrl+w = //これを使用してすべてのウィンドウを同じサイズにします
duggi

19

私はそのためにタブを使用することを好みます。使用する

:tabedit %

新しいタブで最大化されたファイルを開くには、完了したら、すべてのウィンドウを使用して古い設定に戻ります

:tabclose

これは:cw、Tagbarプラグインと連携して動作するので、これは理想的なソリューションです。取得元vim.wikia


13

「M」を使用して最大化し、「m」を使用して最小化するのが好きです。

同じバッファー内にある他の開いているすべてのウィンドウが縮小されるため、見栄えはよくありませんが、タブを処理する場合により便利です。したがって、たとえば、そのファイルの新しいタブを開く代わりに、ファイルを使い終わった後、または最小化したいときに閉じる必要があります。

nnoremap <C-W>M <C-W>\| <C-W>_
nnoremap <C-W>m <C-W>=

nnoremapの理由は、私は再帰的なマッピングについては気にしませんが、mapだけでも機能するはずです。


1
を使用するとnnoremap <C-W>M <C-W>\|<C-W>_(の後のスペースなしで|)、カーソルは最大化するたびに1ずつ移動しません。
rsanden

1
これはバックスラッシュ(nnoremap <C-W>\ <C-W>\|<C-W>_)を使用して好きです。これは、デフォルトのバインディングとの自然な感じ|_=
rsanden

6

を使用して、他のウィンドウを閉じたりサイズを変更したりせずに、ヘルプウィンドウをフルサイズで表示できます

tab help {topic}

これにより、ヘルプウィンドウが新しいタブで開き、他のウィンドウはそのまま残ります(タブラインを表示できるように実際のサイズが変更されますが、これは上の1行だけです)。あなたはいつものように助けを閉じることができます。少なくとも、:bw<CR><C-w>c私のための仕事だけでなく、新しいタブを閉じます。




2

ヘルプだけを表示して、他のウィンドウを閉じるには、次のようにします:helpCTRL-WCTRL-W:close。その後、あなただけの助けがあります。


1

あなたの.vimrcに、ちょうど置く

nmap - :res<CR>:vertical res<CR>$

現在のウィンドウを最大化するには、コマンドモードで-を押します。複数のウィンドウの最後のステータスを復元したいときに=を押します


2
いいですが、=は「最後のステータス」を復元しません。
majkinetor 2013

1

どういうわけか、ZoomWinプラグインはまったく機能しませんでした。他のプラグインがあることがわかりましたが、すでにこれを記述してあり、私が望んでいたとおりの効果が得られます(以下にちょっとした癖があります)

function! ToggleZoom(zoom)
  if exists("t:restore_zoom") && (a:zoom == v:true || t:restore_zoom.win != winnr())
      exec t:restore_zoom.cmd
      unlet t:restore_zoom
  elseif a:zoom
      let t:restore_zoom = { 'win': winnr(), 'cmd': winrestcmd() }
      exec "normal \<C-W>\|\<C-W>_"
  endif
endfunction

augroup restorezoom
    au WinEnter * silent! :call ToggleZoom(v:false)
augroup END
nnoremap <silent> <Leader>+ :call ToggleZoom(v:true)<CR>

マップされたキー(私の場合はLeaderと+)を使用して、最大化/前のレイアウトを切り替えます。同じタブで別の分割に変更すると、最大化がオフになります。

タブを変更すると、分割は最大化されたままになりますが、どういうわけかそれはもはや完全な全幅をカバーせず、幅を最小化したウィンドウは約4列または何かを取り戻します。とにかく、それはマイナーな気まぐれでさえ、私にとって受け入れられるように機能します。

編集:どういうわけか今はうまく動作しますが、以前に何らかの方法でめちゃくちゃになったに違いありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.