Emacs窗口定位



也许这是个愚蠢的问题。但我试图得到我的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版本的右拆分窗口和下拆分窗口创建横跨整个高度和宽度的新窗口。

唯一的限制是你不能在左边或上面创建一个新窗口,所以如果你需要一个横跨整个高度的左边窗口,你必须在分割其他窗口之前创建它。否则,你必须取消拆分其他窗口,并在右侧创建一个新窗口中重新创建它们。

最新更新