我试图让我的emacs的行为像这个vim插件:当在两个垂直窗口之间拆分时,在它们之间切换会使当前窗口的宽度约为总宽度的60%,而前一个窗口的宽度约为40%。
.-----------------.
| | |
| A | B |
| | |
.-----------------.
.-----------------.
| | |
| A | B |
| | |
.-----------------.这是vim插件:autoresize.vim
这样的东西已经存在了吗?
如果不是,我想我可以使用enlarge-window-horizontally命令,但是我找不到在窗口之间切换时触发的钩子。
发布于 2012-12-19 06:47:51
这就是golden-ratio.el。
我自己还没试过,但它能按你的要求做。
发布于 2012-12-19 01:57:38
我不确定它是否是完全匹配的,而且我也不是emacs专家,但是可以看看emacswiki.org上的Switching Buffers文章。
该页面中的几个选择看起来很有希望,特别是关于Transposing Two 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))))))https://stackoverflow.com/questions/13938563
复制相似问题