emacs - 创建时自动分割框架

emacs - 创建时自动分割框架

我几乎总是在单框架、双窗口配置中使用 Emacs(即一个 OS 窗口内有两个 Emacs 窗口)。我已设置default-frame-alist以使框架以正确的大小显示,但随后我必须手动拆分它们(使用C-x 3)。有没有办法告诉 Emacs 在创建每个新框架时自动执行此操作?

编辑:如果我确实在某个时候创建​​了一个新的框架,我希望它也被垂直分割。因此,(when window-system (split-window-horizontally)).emacs不会完成这项工作,因为它只适用于最初的框架。我认为我需要的是一个在每个新框架的上下文中运行的钩子default-frame-alist应用。

答案1

只需添加

(split-window-horizontally)

到您的.emacs文件中。

C-h k 可以检查哪些 Emacs 函数链接到了你的快捷方式。如果你对 Emacs 函数不够熟悉,这个功能非常有用。

答案2

为了防止在访问 grep 缓冲区中的项目时自动垂直拆分缓冲区,请设置

(setq split-height-threshold nil split-width-threshold nil)

很有用。

答案3

这不完全是您想要的,但这是一种让两个窗口并排的好方法。

您可以设置变量split-height-thresholdsplit-width-threshold来更改的行为split-window-sensibly。这样,每次弹出新窗口(例如通过自动完成或按下odired 缓冲区)时,框架都会水平分割。

;; only split horizontally
(setq split-height-threshold nil
      split-width-threshold 0)

新框架仍然只会从一个窗口开始,但是第一次弹出新窗口时,您将在左侧看到一个窗口,在右侧看到另一个窗口。

相关内容