我几乎总是在单框架、双窗口配置中使用 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-threshold
和split-width-threshold
来更改的行为split-window-sensibly
。这样,每次弹出新窗口(例如通过自动完成或按下o
dired 缓冲区)时,框架都会水平分割。
;; only split horizontally
(setq split-height-threshold nil
split-width-threshold 0)
新框架仍然只会从一个窗口开始,但是第一次弹出新窗口时,您将在左侧看到一个窗口,在右侧看到另一个窗口。