Emacs - 在网页浏览器中查看help()输出结果

3
我开始使用Emacs(ESS)作为默认的R编辑器(是的,@Dirk,正如你所说,我想要ESS),我必须承认这是到目前为止我使用过的最好的R编辑器。然而,我无法将help()函数的输出显示在Web浏览器中。即使设置了options(help_type = "html", browser = "firefox"),它仍然在单独的R缓冲区中显示帮助页面。
当我使用Emacs / ESS时,如何将帮助返回到浏览器?

你正在使用哪个操作系统? - JD Long
你可以“提供”其中一个标签,这样我们就可以创建一个标签“ess” :-) - Dirk Eddelbuettel
@JD Long,我正在使用Ubuntu 9.10,Emacs v23.1.1,ESS v5.8。@Dirk,感谢您强调“ESS-tag”想法,“output”标签绝对是微不足道的!=) - aL3xa
1个回答

6
我可以在Linux下重现这个问题:如果我从终端运行R,并设置options(htmlhelp=TRUE),会在浏览器中打开帮助文档,但是在ESS中却无法打开。
help("plot",htmlhelp=getOption("htmlhelp"))

我觉得works -- help在Firefox中打开是一种异常行为--htmlhelp = getOption("htmlhelp")是帮助的默认参数(请参阅?help)。这可能是一个bug。一个可能的解决方法是直接通过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的情况下测试修复程序。
编辑2:根据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)。

如果您使用CRAN上的apt-get存储库,Ubuntu可以获得ESS 5.8 - 请参阅$CRAN/bin/linux/ubuntu。 - Dirk Eddelbuettel
@Leo,感谢你的解决方法,它对我很有效。你能否更精确地指出.emacs文件的位置?我已经尝试了locate .emacs但没有成功...顺便说一下,我认为在R v2.10.x中,option(htmlhelp = TRUE)已被弃用,如果不是自v2.9.x以来?! - aL3xa
1
是的,我发布的链接是讨论2.9版本的,我相信。我刚刚找到了一种不需要编辑.emacs文件的清晰方法 -- 请参考我的更新内容2。但是要想找出你的.emacs文件在哪里,可以使用C-h v user-init-file命令,这将显示存储该路径的变量的值。通常情况下,它是/.emacs或/.emacs.d/init.el(但人们仍然称其为.emacs)。 - Leo Alekseyev
太好了!现在~/.emacs文件已经创建。但有一个缺点:帮助页面在Opera中打开,尽管Firefox是默认浏览器。 - aL3xa
运行 C-h v browse-url-browser-function,它设置为 Opera 还是 FF?如果是 Opera,请尝试自定义它,使其值为 browse-url-firefox。 - Leo Alekseyev
抱歉,这与E17环境设置有关... 在E17中更改后,Firefox可以正常工作。非常感谢你,伙计! - aL3xa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接