emacs, разделить конкретное окно


97

Это может быть глупый вопрос, но я не смог найти на него прямого решения. Я часто хочу разделить окно следующим образом

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



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

В настоящее время я начинаю с ctrl- x 1а затем разделяю по вертикали / горизонтали. но мой настоящий вопрос заключается в том, как можно удалить конкретное окно, разделенное на части, не нарушая структуру другого окна? есть ли встроенная функция elisp?


мой плохой, копия вставлена ​​из моего emacs, как я могу отредактировать вопрос?
kindahero

Просто нажмите editссылку под тегами. На этот раз я сделал это для тебя. Также избегайте символов табуляции в середине строки. Это портит форматирование.
Марсело Кантос,

Вау, Марсело, спасибо за это. исправлено в
кратчайшие

Ответы:


141

Вы можете использовать C-x0комбинацию клавиш для удаления текущего окна.


3
Спасибо, что дал мне ответ. Если быть точным, Cu Cx 0 привел к желаемому мной эффекту.
kindahero

Это также должно быть связано с Cw q в соответствии с поведением vim по умолчанию
Геннадий Мадан,

Я использую Emacs 30 лет и никогда не замечал этой возможности!
Blisterpeanuts

22

Ответ Реми - это то, что вы ищете, но режим победителя также чрезвычайно полезен для возврата к предыдущим конфигурациям окна после внесения любых произвольных изменений (например, восстановления этих множественных разделений после ввода C-x1).

Вы можете включить его в своем файле инициализации с помощью:

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

См. Также: http://www.emacswiki.org/emacs/CategoryWindows

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.