Git фиксирует в Emacs без изменения макета окна? - PullRequest
6 голосов
/ 06 августа 2011

Я обычно работаю в Emacs с разделением фрейма на два параллельных окна.При фиксации изменения через git (C-x v v) в другом окне открывается буфер для комментария к изменению.Проблема в том, что когда я заканчиваю комментарий и набираю C-c C-c, окно, содержащее комментарий, уничтожается вместе с буфером VC-log.Затем мне нужно снова разделить фрейм на два окна и найти буфер, который был в удаленном окне.

Есть ли способ, чтобы этот процесс (C-x v v [commit message] C-c C-c) не испортилсямой макет окна?Я был бы рад, если бы VC-журнал открывался в другом окне, а затем исчезал без изменения компоновки окна, или чтобы VC-log временно разбивал одно из окон, пока мой первоначальный макет буфера / окна восстанавливается.когда я закончу с коммитом.Я мог бы написать функцию-обертку для vc-next-action, которая сохраняет и восстанавливает конфигурацию окна, но, похоже, должен быть более простой способ сделать это.Есть идеи?

Ответы [ 2 ]

8 голосов
/ 06 августа 2011

Быстрый просмотр опций vc не предоставил возможности, но вы можете посоветовать vc-next-action (привязанный к C-x v v) с save-window-excursion, который восстанавливает окна

(defadvice vc-next-action (around keep-windows activate)
  (save-window-excursion
    ad-do-it))

Существует также winner-mode для общего восстановления.И если вы используете git, вам обязательно стоит взглянуть на magit.

1 голос
/ 01 января 2012

Я застрял с той же проблемой. Это похоже на работу.

(defadvice log-edit-done (around keep-windows activate)
  (save-window-excursion
    ad-do-it))

справка для C-c C-c в буфере vc-log показывает это:

C-c C-c запускает команду log-edit-done, которая является интерактивной скомпилированная функция Lisp в `log-edit.el '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...