0

我试图让我的 emacs 表现得像这个 vim 插件:当在两个垂直窗口之间分割时,在它们之间切换会使当前窗口占总宽度的 60%,而前一个窗口占 40%。

  .-----------------.
  |          |      |
  |     A    |   B  |
  |          |      |
  .-----------------.
  .-----------------.
  |       |         |
  |   A   |    B    |
  |       |         |
  .-----------------.

这是 vim 插件:autoresize.vim

这样的事情是否已经存在?

如果没有,我想我可以使用放大窗口水平命令,但我找不到在窗口之间切换时触发的钩子。

4

2 回答 2

1

不确定它是否完全匹配,而且我绝对不是 emacs 专家,但请查看来自emacswiki.org的Switching Buffers文章。

该页面的一些选择看起来很有希望,尤其是关于转置两个缓冲区的片段:

(defun transpose-buffers (arg)
  "Transpose the buffers shown in two windows."
  (interactive "p")
  (let ((selector (if (>= arg 0) 'next-window 'previous-window)))
    (while (/= arg 0)
      (let ((this-win (window-buffer))
            (next-win (window-buffer (funcall selector))))
        (set-window-buffer (selected-window) next-win)
        (set-window-buffer (funcall selector) this-win)
        (select-window (funcall selector)))
      (setq arg (if (plusp arg) (1- arg) (1+ arg))))))
于 2012-12-18T17:57:38.447 回答
1

黄金比例.el

我自己没有尝试过,但它可以满足您的要求。

于 2012-12-18T22:47:51.067 回答