Dzielę okna w poziomie. Teraz, jak mogę wrócić do trybu normalnego, tj. Bez podziału okna tylko jedno okno bez anulowania wszystkich moich otwartych okien. Mam 5 i nie chcę „wyjść”, po prostu chcę wyjść z podzielonego okna.
Dzielę okna w poziomie. Teraz, jak mogę wrócić do trybu normalnego, tj. Bez podziału okna tylko jedno okno bez anulowania wszystkich moich otwartych okien. Mam 5 i nie chcę „wyjść”, po prostu chcę wyjść z podzielonego okna.
Odpowiedzi:
Naciśnij Control+ w, a następnie naciśnij, qaby zamknąć każde okno na raz.
Aktualizacja : Zastanów się również nad odpowiedzią eckes, która może być dla Ciebie bardziej przydatna, obejmując :on
(czytaj poniżej), jeśli nie chcesz robić tego jedno okno na raz.
hidden
wydaje się jednak pomóc. Chodziło mi o to, jak dodać! na skrót? Czy to „Cw! Q”, „Cw q!”, „! Cw q”, „C-! W q”? Myślę, że żaden z nich, ale już zapomniałem, jak tworzyć nowe bufory, więc jest to ćwiczenie dla czytelnika.
Aby zamknąć wszystkie podziały, zazwyczaj umieścić kursor w oknie, które będzie na -ly widocznym jednym, a następnie wykonaj :on
co sprawia, że bieżące okno się na -ly widocznym oknem. Niezły mnemonik do zapamiętania.
Edycja: :help :on
pokazał mi, że te polecenia są takie same:
:on
:only
Każda z tych czterech zamyka wszystkie okna oprócz aktywnego.
:on
odpowie E445: Other window contains changes
i nie zamknie drugiego okna. Na przykład zwykle tworzę nowe okno i wczytuję do niego plik, z którego chciałbym wyrwać. W takim przypadku Vim uważa, że drugie okno ma niepisane zmiany. W takim przypadku użyj, :on!
aby wymusić zamknięcie.
aby zamknąć wszystkie okna, ale bieżące użyj:
CTRL+ w,o
To znaczy, najpierw CTRL+ wa potem o.
CTRL+W o
wpisanego tekstu.
Dwie możliwości zamknięcia bieżącego okna to ZZ
i ZQ
, które odpowiednio zapiszą i nie zapiszą zmian w wyświetlanym buforze.
Z
bo jestem Niemką. (Spoiler: układ klawiatury, jeśli często przełączasz się między ustawieniami DE / EN)
Polecenie: ukryj ukryje aktualnie zaznaczone okno. Myślę, że jest to funkcjonalność, której szukasz.
Aby nawigować między oknami, wpisz Ctrl + w, a następnie klawisz nawigacyjny (h, j, k, l lub klawisze strzałek)
Aby uzyskać więcej informacji, uruchom :help window
i :help hide
vim.
Z :help opening-window
(wyszukaj „Zamykanie okna” - /Closing a window
)
:q[uit]
zamknij bieżące okno i bufor. Jeśli jest to ostatnie okno, również opuści vim:bd[elete]
zwolnij bieżący bufor i zamknij bieżące okno:qa[all]
lub :quita[ll]
zamknie wszystkie bufory i okna i opuści vim ( :qa!
aby wymusić bez zapisywania zmian):clo[se]
zamknij bieżące okno, ale pozostaw bufor otwarty. Jeśli jest tylko jedno okno, polecenie to kończy się niepowodzeniem:hid[e]
ukryj bufor w bieżącym oknie (Czytaj więcej na :help hidden
):on[ly]
zamknij wszystkie pozostałe okna, ale pozostaw wszystkie bufory otwarteZnalazłem, że ctrl+ wdo okna, które chcesz zamknąć, a następnie po prostu zrób :q. To działa dla mnie.
^W^W:q
jako możliwe rozwiązanie, więc pozbyć się podziału. Zauważ, że ^W to the window you want to close
najwyraźniej oznacza to wiele zastosowań ^W^W
przełączania do okna, które chcesz zamknąć.
Rozumiem dobrze twoją intencję, również używam buforów i czasami dzielę w razie potrzeby.
poniżej jest fragment mojego .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!
Co całkiem dobrze pasuje do mojego przepływu pracy
Jeśli
q
został naciśnięty
- ukryj bieżące okno, jeśli otwartych jest wiele okien, w przeciwnym razie spróbuj wyjść z Vima.
jeśli
qo
został naciśnięty
- zamknij wszystkie pozostałe okna, bez efektu, jeśli tylko jedno okno.
Oczywiście możesz zawinąć tę niechlujną część w funkcję , np
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 : I remap q
, bo nie używać makro edycji, zamiast używać :s
, :g
, :v
oraz polecenia zewnętrznego przetwarzania tekstu w razie potrzeby, na przykład :'{,'}!awk 'some_programm'
, lub wykorzystywania :norm! normal-command-here
.
Tak jak inni mówili wcześniej, sposobem na to jest naciśnięcie ctrl+, wa następnie o. To „zmaksymalizuje” bieżące okno, jednocześnie zamykając pozostałe. Jeśli chcesz to „zmaksymalizować”, możesz skorzystać z wtyczki ZoomWin . W przeciwnym razie konieczne będzie ponowne utworzenie konfiguracji okna od zera.
Okej, właśnie odłączyłem się i ponownie przyłączyłem do sesji ekranowej i wróciłem do normalnego ekranu, którego chciałem
vim
trybu podzielonego okna, to po prostu opuszcza screen
tryb podzielonego panelu - który można łatwo pomylić, więc być może inni też. BTW: Uważam tę funkcję ekranu za irytującą, dlatego teraz domyślnie tmux
pozwalam na ponowne połączenie z nienaruszonymi wszystkimi podziałami.