使用 R 会话启动 Emacs 并排 windows?

Start Emacs with R session and side by side windows?

我很不擅长自定义emacs。我希望如果我从一个以“.r”结尾的文件开始,emacs 开始最大化,两个 windows 并排(框架的垂直划分),一个是我的源代码文件,另一个是ESS R 解释器。如果我能理解这个例子,也许我可以将它推广到其他扩展和模式。我还是不懂 elisp 中 hooks 的语法。

通常使用 Emacs 的方法是始终使用它 运行 而不是 一直打开和关闭它。

我建议您定义一个函数,使现有的 Emacs 看你想要的样子:

(defun my-R-window-configuration ()
  "Prepare the current emacs frame for R work."
  (interactive)
  ;; maximimize the current frame:
  (set-frame-parameter nil 'fullscreen 'maximized)
  ;; keep just the current window, presumably containing the R code
  (delete-other-windows)
  ;; create ESS R interaction buffer and go there
  (ess-switch-to-end-of-ESS)
  ;; go back to the code
  (other-window 1))

现在您可以在 R 缓冲区中执行 M-x my-R-window-配置 RET 以获得您想要的内容。