我开始使用 Emacs (ESS) 作为默认的 R 编辑器(是的,@Dirk,正如你所说,我想要 ESS),我必须承认它是迄今为止我使用过的最好的编辑器。 R
但是,我无法将help()
功能输出到网络浏览器。即使options(help_type = "html", browser = "firefox")
已设置,它也会在单独的 R 缓冲区中继续显示帮助页面。
如何在使用 Emacs/ESS 时将帮助返回到浏览器?
我可以在 Linux 下重现这一点:如果我从终端运行 R,设置options(htmlhelp=TRUE)
会在浏览器中显示帮助,但它会从 ESS 失败。然而,
help("plot",htmlhelp=getOption("htmlhelp"))
有效——帮助在 Firefox 中为我打开。我认为这是一种异常行为—— htmlhelp=getOption("htmlhelp") 是帮助的默认参数(参见 ?help)。这可能是一个错误吗?.. 一个可能的解决方法是直接调用帮助help("plot",htmlhelp=T)
,或者编写一个像myhelp <- function(x) help(x,htmlhelp=TRUE)
.
编辑:一个可能的解决方案:把它放到你的 .emacs 中
(setq inferior-ess-r-help-command "help(\"%s\", htmlhelp=TRUE)\n")
根据https://stat.ethz.ch/pipermail/ess-debian/2009-October/000093.html。这指的是 ESS 5.5;Ubuntu 存储库中的当前版本是 5.4,因此我无法在不升级 ESS 的情况下测试修复。
EDIT2:我按照 Dirk 的建议升级到最新的 R/ESS,并在启动 R/ESS 后执行了以下操作:M-x customize-variable
inferior-ess-r-help-command
并将 help_type=text 替换为 help_type=html。这解决了问题(至少对于版本 2.10.1/ESS 5.8)。