ウィンドウを水平に分割しました。さて、どのようにして通常モードに戻ることができますか?つまり、開いているすべてのウィンドウをキャンセルせずに、ウィンドウを1つだけ分割することはできません。私は5を持っていますが、「終了」したくないので、分割ウィンドウから出たいだけです。
押す Control+w、その後ヒット q 一度に各ウィンドウを閉じます。
更新:一度に1ウィンドウずつ実行したくない場合は、:on
(以下を参照)を含む、あなたにとってより便利なeckesの回答も検討してください。
現在のウィンドウ以外のすべてのウィンドウを閉じるには:
CTRL+w、 o
つまり、最初に CTRL+w その後 o。
現在のウィンドウを閉じるための2つの選択肢は、ZZ
とZQ
です。これらはそれぞれ、表示されたバッファーへの変更を保存し、保存しません。
コマンド:hideは、現在フォーカスされているウィンドウを非表示にします。これがあなたが探している機能だと思います。
ウィンドウ間を移動するには、Ctrl + wに続けてナビゲーションキー(h、j、k、l、または矢印キー)を入力します
詳細については、vimで:help window
および:help hide
を実行してください。
:help opening-window
から(「ウィンドウを閉じる」を検索-/Closing a window
)
:q[uit]
は、現在のウィンドウとバッファを閉じます。最後のウィンドウの場合は、vimも終了します:bd[elete]
現在のバッファをアンロードし、現在のウィンドウを閉じます:qa[all]
または:quita[ll]
は、すべてのバッファーとウィンドウを閉じてvimを終了します(:qa!
は変更を保存せずに強制します):clo[se]
現在のウィンドウを閉じますが、バッファは開いたままにします。ウィンドウが1つしかない場合、このコマンドは失敗します:hid[e]
現在のウィンドウでバッファを非表示にします(詳細は:help hidden
をご覧ください):on[ly]
他のすべてのウィンドウを閉じますが、すべてのバッファは開いたままにします他の人が言ったように、これを行う方法は押すことです ctrl+w その後 o。これにより、現在のウィンドウが「最大化」され、他のウィンドウが閉じられます。 「最大化解除」できるようにしたい場合は、 ZoomWin というプラグインがあります。それ以外の場合は、最初からウィンドウ設定を再作成する必要があります。
見つけた ctrl + w 閉じたいウィンドウに移動して :q。これは私のために動作します。
私はあなたの意図をよく理解しています。バッファも排他的に使用し、必要に応じて分割します。
以下は私の.vimrc
の抜粋です
" disable macro, since not used in 90+% use cases
map q <Nop>
" q, close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200 " let vim wait less for your typing!
これは私のワークフローに非常によく合っています
q
が押された場合
- 複数のウィンドウが開いている場合は現在のウィンドウを非表示にし、そうでない場合はvimを終了します。
qo
が押された場合、
- 他のすべてのウィンドウを閉じます。ウィンドウが1つだけの場合は効果がありません。
もちろん、次のことができますその厄介な部分を関数にラップする、例えば
func! Hide_cur_window_or_quit_vim()
if winnr('$') > 1
hide
else
silent! exec 'q'
endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>
Sidenote:編集にマクロを使用しないため、q
を再マップし、代わりに:s
、:g
、:v
、および外部テキスト処理を使用します必要に応じてコマンド、たとえば:'{,'}!awk 'some_programm'
、または:norm! normal-command-here
を使用します。
さて、私はちょうど画面セッションを切り離して再接続し、私は望んでいた通常の画面に戻っています