Git在emacs中提交而不改变窗口布局?

Ash*_* L. 6 git emacs

我通常在emacs中工作,框架分为两个并排的窗口.通过git(C-x v v)提交更改会在另一个窗口中为更改注释打开一个缓冲区.问题是,当我完成注释并输入时C-c C-c,包含注释的窗口将与VC-log缓冲区一起被终止.然后我必须再次将帧拆分为两个窗口,找到已删除窗口中的缓冲区.

有没有办法让这个过程(C-x v v[提交消息] C-c C-c)搞乱我的窗口布局?我很高兴VC-log在另一个窗口中打开,然后在不改变窗口布局的情况下消失,或者VC-log暂时拆分其中一个窗口,只要恢复原始缓冲区/窗口布局当我完成提交.我可以编写一个包装函数来vc-next-action保存并恢复窗口配置,但似乎应该有一种更简单的方法来执行此操作.有任何想法吗?

Mic*_*ert 8

快速浏览一下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))
Run Code Online (Sandbox Code Playgroud)

还有winner-mode一般恢复.如果你使用git,你肯定应该看看magit.