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.
hiddenwydaje 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 :onco 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:onlyKażda z tych czterech zamyka wszystkie okna oprócz aktywnego.
:onodpowie E445: Other window contains changesi 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 owpisanego tekstu.
Dwie możliwości zamknięcia bieżącego okna to ZZi ZQ, które odpowiednio zapiszą i nie zapiszą zmian w wyświetlanym buforze.
Zbo 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 windowi :help hidevim.
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:qjako możliwe rozwiązanie, więc pozbyć się podziału. Zauważ, że ^W to the window you want to closenajwyraźniej oznacza to wiele zastosowań ^W^Wprzełą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
qzostał naciśnięty
- ukryj bieżące okno, jeśli otwartych jest wiele okien, w przeciwnym razie spróbuj wyjść z Vima.
jeśli
qozostał 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, :voraz 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
vimtrybu podzielonego okna, to po prostu opuszcza screentryb 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 tmuxpozwalam na ponowne połączenie z nienaruszonymi wszystkimi podziałami.