Максимизация/восстановление окна в emacs
Итак, возможно, это больше вопрос для сайта суперпользователя, но я подумал, что в stackoverflow будет намного больше пользователей emacs.
В основном я часто разделяю emacs примерно на 4 окна, поэтому я могу смотреть на кучу буферов одновременно. Однако я хотел бы иметь возможность Cx 1 (сделать окно того же размера, что и emacs) а затем каким-то образом вернемся к моему красивому 4-оконному макету, на который я просто смотрел.
Есть ли простой способ сделать это или мне нужен некоторый elisp/ lisp (примечание: я не знаю ЛЮБОГО elisp.)
Спасибо!
Джон.
Ответы
Ответ 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
.