Лучший контроль над окнами Emacs - PullRequest
9 голосов
/ 26 февраля 2009

Я провожу много времени в emacs, и по большей части это замечательно. Но одна вещь действительно сводит меня с ума, когда я глубоко в этом, и это контроль над тем, в каком окне открываются различные новые буферы. Когда я делаю find-file, он всегда открывается в текущем окне, и это то, что мне нравится. Но тонны других режимов любят разбивать мои окна для меня, менять макет и делать разные другие вещи, которые меня раздражают. Например, запуск M-x manual-entry, похоже, не имеет смысла или причины, по которой он открывает man-страницу, и различные команды org-mode делают то же самое, закрывая окна, которые я хочу оставить открытыми, и т. Д. Мне не нравится повторять мои макет каждый раз, когда я хочу посмотреть на мою org повестку дня или открыть страницу руководства.

Короче говоря, есть ли в любом случае глобальный контроль, какие окна используются для режимов, которые хотят открываться в окне, отличном от текущего? Могу ли я направить их более легко? Или мне придется взламывать каждый режим так, как я хочу?

Ответы [ 2 ]

8 голосов
/ 26 февраля 2009

Попробуйте режим Winner:

http://www.emacswiki.org/emacs/WinnerMode

Предоставляет отмену / повтор изменений для конфигурации окна.

2 голосов
/ 26 февраля 2009

Этот вопрос всегда меня тоже беспокоил. Я нашел это:

http://www.gnu.org/software/emacs/elisp/html_node/Choosing-Window.html

Похоже, вы можете использовать (setf pop-up-frames t), чтобы вещи отображались в новом кадре.

Кроме того, похоже, что вы можете использовать функцию display-buffer-function для переопределения функции отображения (как выбираются буферы). Конечно, вы должны быть хороши в elisp.

...