2010-09-18 3 views
9

У меня есть несколько расколов, открытых, глядя на различные буферы. Но когда я, например, проверю справку по функции, он заменит один из разделов буфером справки. Как только я закончил чтение справки, я должен вернуться к правильному буферу вручную, что является болью. Как мне заставить Emacs быть лучше для моих буферов?Как остановить Emacs от изменения разделенных буферов?

Обновление: Справка позволит вам нажать q, чтобы вернуться в предыдущий буфер. Но, вызывая всплывающее окно Emacs, он также крадет один из моих буферных окон , и у него нет q .

Обновление: Возврат имеет q для возврата. Мой оригинальный вопрос по-прежнему остается: как я могу попросить Emacs не украсть один из моих расколов?

ответ

6

Добавление строки

(push "*Help*" special-display-buffer-names)
к файлу инициализации должно сделать последующие вызовы буфера справки отображаться в собственном фрейме (то, что рабочий стол обычно вызывает «окно»), и оставить исходный кадр только с его конфигурацией.

См. Special Buffer Frames.

+0

Красивые. Мне просто нужно переустановить «delete-frame» на что-то более удобное, чем C-x 5 0, и я буду настроен. Я не могу выдвинуть этот вопрос и этот ответ достаточно! –

+0

Кстати, он отлично работает с «* компиляцией». –

+0

Вы, сэр, гений. – MDCore

0

Что я делаю, просто перейдите в этот измененный буфер, C-x k it, а текущий буфер в этом окне будет предыдущим буфером.

Возможно, вы сможете определить совет для справки, который сохраняет текущее состояние окна и состояния буфера и восстанавливает его с помощью простого keybind. Но это не соответствует моим основным знаниям.

+0

Я только заметил, что он появляется с сообщением «нажмите q, чтобы восстановить это окно». Посмотрим, работает ли этот сеанс редактирования. – MDCore

+0

У меня есть смутное воспоминание о том, что настройки по умолчанию в Aquamacs заставляют помощь открываться в новом фрейме вместо окна в текущем фрейме. Если это так, вы можете просто посмотреть, как они это делают, и скопировать их код. – Porculus

+0

Я бы предпочел решение, где help/backtrace и т. Д. Не путают с моими буферами. В настоящий момент предпочтительным будет всплывающее окно! – MDCore

1

Я надеюсь, что это поможет вам:

  • Cx удалить текущее окно

  • Cx сохранить только текущее окно

  • Вы можете использовать windmove by addi нг следующая строка в вашем .emacs:

(windmove-default-keybindings)

Затем вы можете переместить точку между окнами с помощью S-правогоS-левогоS-вверх и S- down

Существует множество способов хранения и восстановления окон emacs, см. emacswiki.org on the subject.

+0

Ну, у меня есть окно, разбитое на четыре квадранта, показывающее файлы, на которые я хочу смотреть. Удаление окон портит эту договоренность, и это проблема, с которой я столкнулся в первую очередь. – MDCore

+0

Существует множество способов хранения окон. Я обновляю свой ответ на ссылку на emacswiki.org по этому вопросу. –

+1

Мне не нужно хранить или восстанавливать устройство, я бы предпочел, чтобы emacs не возился с тем, что у меня было. Я хочу, чтобы программа делала то, что я хочу, а не наоборот. – MDCore

3

Вы также можете использовать режим победителя. Он поднялся на planet.emacsen.org некоторое время назад.

Winner Mode - глобальный второстепенный режим. При активации он позволяет «отменить» (и «повторить») изменения в конфигурации окна с помощью команд клавиш «C-c left» и «C-c right».

Таким образом, вы можете отменить любые изменения в своих расколах сразу после их возникновения.

Смежные вопросы