r - 如何让 ESS 默认水平拆分窗口?

标签 r emacs ess

我总是喜欢水平分割,因为屏幕有更多的水平空间。 在 python 模式下,我可以通过设置来实现这一点

 (py-split-windows-on-execute-function (quote split-window-horizontally))

ESS模式下有类似的吗?

最佳答案

我不知道 ESS 是否有任何特定于模式的内容。然而,从帮助页面来看,split-window-preferred-function 默认为 split-window-sensibly,这反过来又决定如何根据split-width-thresholdsplit-height-threshold。将前者设置为 nil 禁止水平拆分,将后者设置为 nil 禁止垂直拆分。这些设置将是全局的;您可以将 (setq-local split-height-threshold nil) 放入您的 ess-mode-hook

已编辑/扩展以反射(reflect) @qed 的回答。您可能会考虑将本地绑定(bind)打包在一个函数中而不是 lambda 中,以便您可以选择从钩子(Hook)中删除该函数。

(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)

关于r - 如何让 ESS 默认水平拆分窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140672/

相关文章:

r - 如何从自定义分布中采样?

r - 与ggplot2相关的矩阵图

emacs - 开发 Sweave 文档的建议

r - 如何自动化这些 emacs ESS (ess-remote) 命令?

r - 当列在 NA 结束时插入 NA 值

r - 为同一混合模型中的子集指定不同的随机结构?

json - 如何为 JSON 文件设置标签宽度?

emacs - org-mode,从所有标记的条目中删除标签

shell - Emacs 默默地将 -i 附加到 shell 命令

emacs - R 项目/包开发的 ESS 工作流