也许这是个愚蠢的问题。但我试图得到我的emacs定制细粒度..有这样一个直接的命令来改变Windows吗?
+----------------+
| |
| |
+----------------+
| |
| |
+----------------+
+----------------+------------+
| | |
| | |
+----------------+ |
| | |
| | |
+----------------+------------+
还是我需要开始学习elisp?
是的,你会,但玩弄窗口布局和缓冲区是一个很好的开始。这是你的解决方案,它给了你大部分你需要定制你的布局。
将下面的代码添加到.emacs中。C-x C-e来评估它,然后希望按F5会像你期望的那样(前提是你没有杀死'*Messages*'缓冲区)。
global-set-key '[f5] '(lambda () (interactive)
(let ((other (buffer-name (window-buffer (next-window)))))
(delete-other-windows)
(set-frame-width (selected-frame)
(+ (frame-width (selected-frame)) (window-width)))
(split-window-horizontally)
(split-window-vertically)
(with-selected-window (next-window)
(set-window-buffer (selected-window) other))
(with-selected-window (previous-window)
(set-window-buffer (selected-window) "*Messages*")))))
您的问题的正确答案是使用不在Emacs用户文档中的可用命令索引中提到的创建新窗口的方法。在您要查找的直接命令下面:
M-x split-root-window-right
就是这样。ROOT版本的右拆分窗口和下拆分窗口创建横跨整个高度和宽度的新窗口。
唯一的限制是你不能在左边或上面创建一个新窗口,所以如果你需要一个横跨整个高度的左边窗口,你必须在分割其他窗口之前创建它。否则,你必须取消拆分其他窗口,并在右侧创建一个新窗口中重新创建它们。