如何在emacs中获取R缓冲区以占用更多水平空间?

时间:2012-09-20 20:36:44

标签: r emacs ess

当我启动ESS缓冲区(使用M-x R)时,我得到的命令输出仅占用列宽的大约60个字符(特别是在显示具有长列名的数据帧时)。我想知道是否有一种简单的方法来调整这个限制。

2 个答案:

答案 0 :(得分:7)

以下在R的启动时将R的选项“width”设置为缓冲区的宽度:

(add-hook 'ess-R-post-run-hook 'ess-execute-screen-options)

请注意,这适用于最新的ESS 12.09,旧版本使用ess-post-run-hook

同样在最新的ESS中,您可以使用 C-c h w RET 执行此操作,或者将其绑定到一个方便的键:

(define-key inferior-ess-mode-map "\C-cw" 'ess-execute-screen-options)

它可以设置为每次窗口改变它的大小时执行,但我的猜测是它需要相当多的lisping。

答案 1 :(得分:6)

Ben Bolker的评论是正确的:options("width"=200)是我在具有宽显示器的机器上使用的。

我不知道环境变量会将此报告回ESS进行自动调整。这将是一个有用的补充。

就像options("width")一样,一些东西在启动时通常很有用,所以我目前在另一台机器上有这个

edd@max:~$ cat .Rprofile
## Example of .Rprofile
options(width=155, digits=6, digits.secs=6)
## AER page vii
options(prompt="R> ")
## Default repo
local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org"
       options(repos=r)
})