2011-08-23 52 views
4

目前我已经设置options(help_type="text")getOption("help_type")回报"text"开放。不知道为什么,但是当我在劣质ESS(iESS)缓冲区中键入?par时,R仍会打开新的浏览器窗口或选项卡。如果我明确评估help(par,help_type="text"),则帮助页面的内容将打印在iESS缓冲区中。我认为有一种方法可以让内容在一个单独的Emacs缓冲区中打开 - 我错了吗?的Emacs + ESS + R:如何有帮助页面在新的缓冲区

+1

在我的emacs上,有一行说明以下内容:.help.ESS < - help - 当您启动ESS时会显示此行。另外,你在哪个系统上运行emacs,以及你使用的是什么版本的emacs和ESS?劣质ess-help-command的价值是什么? – richiemorrisroe

+0

Thanks - '.help.ESS < - help'确实出现,'inferior-ess-help-command'的值是'“utils :: help(\”%s \“,help_type = \”html \ “)\ n”'在OS X上的Emacs 24 ... – hatmatrix

+1

如果您将inferior-ess-help-command(使用自定义菜单)自定义为“text”,则应该在新缓冲区中获得帮助文件。 – richiemorrisroe

回答

4

如果(我们发现,在注释中),您将inferior-ess-help-command设置为“utils :: help(\”%s \“)\ n”,那么问题就解决了。

它似乎是由配置文件中的另一个inferior-ess-help-command造成的。

它总是,如果您遇到这样奇怪的问题,是一个好主意,开始与-nw选项的Emacs。

2

在您的.emacs文件中,包含以下两个语句之一。

首先应该在自己的框架中打开每个?foo请求/缓冲

;;;;; create a new frame for each help instance 
(setq ess-help-own-frame t) 

这第二个版本对所有帮助页面一个缓冲区,你打电话

;;;;; If you want all help buffers to go into one frame do 
(setq ess-help-own-frame 'one) 
+0

嗯,没有完全做到这一点......现在打开新的框架与空帮助缓冲区,但仍然打开帮助文件浏览器... – hatmatrix

+0

啊,好吧,我现在看到 - 你混合了两个问题,或者至少这是什么我想。以上仅适用于文本帮助,因此您需要解决该问题(@richiemorrisroe似乎已经完成) - 如果您想自定义Emacs/ESS如何处理文本帮助,上述内容可能会很有用。 –

+0

猜我是...两个是如何1)使iESS使用help_type =“文本”,而不是“HTML”和2)如何在Emacs缓冲区中打开它。实际上,在这个时候,我喜欢在另一个窗口中打开帮助文件的默认行为,但是如果我想让它在单独的框架中打开,请记住您的解决方案 - 谢谢。 – hatmatrix