我总是喜欢水平分割,因为屏幕有更多的水平空间。 在python模式中,我可以通过设置
来实现 (py-split-windows-on-execute-function (quote split-window-horizontally))
ESS模式中有类似的东西吗?
答案 0 :(得分:5)
我不知道ESS是否有任何模式特定的。但是,从帮助页面看,split-window-preferred-function
默认为split-window-sensibly
,后者又决定了如何根据split-width-threshold
和split-height-threshold
拆分窗口。将前者设置为nil
禁止水平拆分,后者设置为nil
禁止垂直拆分。这些设置将是全球性的;您可以将(setq-local split-height-threshold nil)
放入ess-mode-hook
。
编辑/扩展以反映@ qed的回答。您可以考虑将本地绑定打包在函数中而不是lambda中,以便自己选择从钩子中删除函数
(defun forbid-vertical-split ()
"Only permit horizontal window splits."
(setq-local split-height-threshold nil)
(setq-local split-width-threshold 0))
(require 'ess-site)
(add-hook 'ess-mode-hook
'forbid-vertical-split)
答案 1 :(得分:2)
这似乎可以解决问题:
(require 'ess-site)
(add-hook 'ess-mode-hook
(lambda()
(setq-local split-height-threshold nil)
(setq-local split-width-threshold 0)
))
向丹致敬!
答案 2 :(得分:0)
接受的答案对我不起作用,但添加了
(setq split-height-threshold 0)
到.emacs