emacs, anuluj podział określonego okna

97

To może być głupie pytanie, ale nie mogłem znaleźć bezpośredniego rozwiązania tego problemu. Często chcę rozdzielić okno w następujący sposób

+--------------+-------------+             +--------------+-------------+
|              |             |             |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
+--------------+             |     -->     |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
+--------------+-------------+             +--------------+-------------+



+--------------+--------------+            +-----------------------------+
|              |              |            |                             |
|              |              |            |                             |
|              |              |            |                             |
+--------------+--------------+    -->     +-----------------------------+
|                             |            |                             |
|                             |            |                             |
|                             |            |                             |
+-----------------------------+            +-----------------------------+

Obecnie zaczynam od ctrl- x 1a następnie dzielę w pionie / poziomie. ale moim prawdziwym pytaniem jest, jak można usunąć określone podzielone okno bez naruszania struktury drugiego okna? czy jest wbudowana funkcja elisp?

kindahero
źródło
moja zła kopia wklejona z mojego emacsa, jak mogę edytować pytanie?
kindahero
Wystarczy kliknąć editłącze pod tagami. Zrobiłem to dla ciebie tym razem. Unikaj także znaków tabulacji w środku linii. Robi spustoszenie w formatowaniu.
Marcelo Cantos,
Wow, Marcelo Dzięki za to. poprawione w
mgnieniu oka

Odpowiedzi:

141

Możesz użyć C-x0kombinacji klawiszy, aby usunąć bieżące okno.

Rémi
źródło
3
Dzięki, to dało mi odpowiedź. Mówiąc dokładniej, Cu Cx 0 dało efekt, o którym mi chodziło.
kindahero
Powinno to również być powiązane z Cw q zgodnie z domyślnym zachowaniem per vim
Hennadii Madan
Używam Emacsa od 30 lat i nigdy nie zauważyłem tej funkcji!
Blisterpeanuts
22

Odpowiedź Remiego jest tym, czego szukasz, ale tryb zwycięzcy jest również niezwykle przydatny, aby wrócić do poprzednich konfiguracji okna po wprowadzeniu dowolnych zmian (takich jak przywrócenie tych wielokrotnych podziałów po wpisaniu C-x1).

Możesz włączyć to w swoim pliku init za pomocą:

(winner-mode 1) ;"C-c <left>" and "C-c <right>" undo and re-do window changes.

Zobacz także: http://www.emacswiki.org/emacs/CategoryWindows

phils
źródło