【问题标题】:Emacs+ESS+R: How to have help page open in new bufferEmacs+ESS+R:如何在新缓冲区中打开帮助页面
【发布时间】:2011-08-23 10:43:12
【问题描述】:

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

【问题讨论】:

  • 在我的 emacs 上,有一行内容如下: .help.ESS
  • 谢谢 -- .help.ESS <- help 确实出现了,inferior-ess-help-command 的值在 OS X 上的 Emacs 24 上是 "utils::help(\"%s\", help_type=\"html\")\n"...
  • 如果您将 lower-ess-help-command(使用自定义菜单)自定义为“文本”,那么您应该在新缓冲区中获取帮助文件。
  • (setq inferior-ess-help-command "utils::help(\"%s\")\n") 显然也无济于事
  • 谢谢——我在我的配置文件中定义了另一个变量inferior-ess-r-help-command,它被分配给我的inferior-ess-help-command 变量的全局值。必须是从较旧的安装中继承而来的。

标签: r emacs ess


【解决方案1】:

如果(正如我们在 cmets 中发现的那样)您将 lower-ess-help-command 设置为 "utils::help(\"%s\")\n",那么问题就解决了。

它似乎是由配置文件中的另一个劣质-ess-help-命令引起的。

如果您遇到此类奇怪的问题,使用 -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)
    

    【讨论】:

    • 嗯,不太好...现在打开带有空帮助缓冲区的新框架,但仍然打开帮助文件浏览器...
    • 啊,好吧,我现在明白了——你把两个问题混在一起了,或者至少我是这么想的。以上仅适用于文本帮助,因此您需要解决这个问题(@richiemorrisroe 似乎已经完成了) - 如果您想自定义 Emacs/ESS 如何处理文本帮助,以上可能很有用。
    • 猜我是...这两个是如何 1) 使 iESS 使用 help_type="text" 而不是 "html" 和 2) 如何在 Emacs 缓冲区中打开它。实际上,此时我喜欢在另一个窗口中打开帮助文件的默认行为,但如果我希望它在单独的框架中打开,请记住您的解决方案 -- 谢谢。
    猜你喜欢
    • 2021-10-27
    • 2010-09-19
    • 2014-10-17
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2011-03-09
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多