Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

C-x r w x, чтобы сохранить конфигурацию окна и C-x r j x, чтобы восстановить его, где x - это имя регистра, в которое он будет храниться.

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

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

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

Ответ 6

http://www.emacswiki.org/emacs/frame-cmds.el

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