Максимизация / восстановление окна в emacs

18

Итак, возможно, это больше вопрос для сайта суперпользователя, но я подумал, что в stackoverflow будет намного больше пользователей emacs.

В основном я часто разделяю emacs примерно на 4 окна, поэтому я могу смотреть на кучу буферов одновременно. Однако я хотел бы иметь возможность Cx 1 (сделать окно того же размера, что и emacs) а затем каким-то образом вернемся к моему красивому 4-оконному макету, на который я просто смотрел.

Есть ли простой способ сделать это или мне нужен некоторый elisp / lisp (примечание: я не знаю ЛЮБОГО elisp.)

Спасибо! Джон.

    
задан John Hunt 04.10.2011 в 01:18
источник
  • Примечание: Когда я говорю «окно», я имею в виду «панель» в emacs. Также обратите внимание, что я использую emacs на Ubuntu под X. –  John Hunt 04.10.2011 в 01:19

6 ответов

17

Попробуйте режим победителя .

С включенным режимом победителя вы можете восстановить предыдущую конфигурацию окна с помощью C-c & lt; left & gt; .

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

C-c & lt; right & gt; возвращает вас (напрямую) к самой последней конфигурации.

    
ответ дан Asher L. 04.10.2011 в 01:31
  • Пятно на, приятно и легко тоже :) –  John Hunt 04.10.2011 в 02:42
10

Я уверен, что для этого есть несколько разных решений, но я использую:

Cx rwx , чтобы сохранить конфигурацию окна и Cx rjx , чтобы восстановить его, где x - это имя регистра для его сохранения .

Затем мне также нравится режим победителя , который позволяет перейти к предыдущим конфигурациям окон с winner-undo и winner-redo (который я связывал с C - ^ и Cc ^ , потому что я не могу выдержать привязки Cc & lt; left & gt; и Cc & lt; right & gt; , которые установлены по умолчанию).

    
ответ дан danlei 04.10.2011 в 01:37
3

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

  • C-x 5 2 для создания нового фрейма.
  • C-x 5 0 , чтобы удалить его и вернуться к исходному фрейму.

В терминале он полностью бесшовна. С графическим интерфейсом Emacs это нормально, если ваши новые кадры автоматически полноэкранные (или, тем не менее, вы предпочитаете их), но не так хороши, если вы вручную их определяете.

    
ответ дан phils 11.06.2013 в 03:06
1

Вы также должны попробовать C-x 0 в окне, которое хотите закрыть, поскольку оно закрывает это конкретное окно, но не любое другое. Я думаю, что большинству людей это нравится в большинстве случаев, когда они используют C-x 1 .

    
ответ дан monotux 05.10.2011 в 14:02
0

Я использую escreen.el для управления несколькими рабочими пространствами, но в качестве побочного эффекта каждая рабочая область запоминает конфигурацию окна. Таким образом, вы можете найти полезный пакет.

Другие люди предлагают elscreen вместо escreen, но я еще не использовал этот пакет. Поэтому я не могу сказать, сохраняет ли он также конфигурацию окон рабочих областей.

    
ответ дан vhallac 04.10.2011 в 01:47
0

Ссылка

См. команды maximize-frame и restore-frame (aka toggle-frame ). Существуют также команды maximize-frame-horizontally , maximize-frame-vertically , restore-frame-horizontally и restore-frame-vertically .

    
ответ дан Drew 07.10.2011 в 05:53
  • Хотя терминология в вопросе не очень ясна, я верю из примера C-x 1, что этот вопрос совсем не о кадрах. –  tripleee 07.10.2011 в 07:11
  • Ой, извините - да, вы не сомневаетесь в этом. В этом случае ответ на вопрос о сохранении и восстановлении конфигурации окна является подходящим. –  Drew 08.10.2011 в 09:19