【问题标题】:Customizing the ESS environment for R为 R 定制 ESS 环境
【发布时间】:2012-10-04 13:14:17
【问题描述】:

我正在尝试优化我的ESS - R 环境。到目前为止,我使用了r-autoyas,在style guides 之后设置了意图和内容,在迷你缓冲区中有函数参数的eldoc 提示,我可以选择press a key 以查找有关变量的信息在点(更多here)。

为了拥有一个不错的 R 环境,您还使用了其他什么东西吗?也许非 ESS 的人有一些好东西要添加(我通过查看 Eclipser 获得了变量的信息)。一个示例可能是一种无需输入变量名称即可插入“刚刚定义”变量的简单方法(应该是这样的吗?)。

(如果没有很好的表述,请帮助我改变问题而不是“关闭”线程)

【问题讨论】:

  • 您能否更好地描述您在寻找什么优化?我——也许还有其他人——不知道 ESS。你能描述一下吗?最后,您能否列出您已经为优化它所做的命令 - 不是以描述的方式?
  • 我用我提到的例子的链接更新了帖子。有了一个不错的 R 环境,我只是想让 R 的使用尽可能舒适和快捷。不熟悉 ESS 的人可能会提到他们最喜欢的 R 环境扩展/功能/插件,这有助于他们优化工作流程。
  • 你试过 R-Studio 吗?我认为它是 R 最好的 IDE 之一。
  • 也许可以提一下你最喜欢它的什么地方?这可能会带来一些好处。
  • 我认为 ESS 100 页手册是您应该查看的手册,查看提供的所有功能并打开您想要的功能。如果您在使用任何特定功能时遇到问题,请在此处询问

标签: r emacs environment ess


【解决方案1】:

我没有使用 autoyas,因为我发现 auto-complete integration 是一种更好的方法。

插入先前定义的符号是一种通用的 emacs 功能,称为“dabbrev-expand”,并绑定到 M-/。我在我的 .emacs 中有这个,以使其在完整符号上完整:

(setq dabbrev-abbrev-char-regexp "\\sw\\|\\s_\\|s.")
(setq dabbrev-case-fold-search t)

我广泛使用的另一件事是imenu-based-jump-to-symbol-definition。它提供与 emacs 标签类似的功能,但仅适用于与当前缓冲区模式相同的打开缓冲区。它还使用 IDO 进行查询:

imenu-anywhere.el 放入您的 emacs 加载路径并添加:

(require 'imenu-anywhere)
(global-set-key [?\M-o] 'imenu-anywhere)

现在,如果我这样做 Mo foo RET 只要 'foo' 在开放缓冲区之一。这当然适用于模式定义 imenu-tags 时。 ESS 定义了这些,因此您不需要添加更多。

还有一些 R-yas 模板的集合。我没有开始使用它们,但我的猜测是它是一种非常有效的模板插入机制。

[编辑] 激活 tracebug:

(setq ess-use-tracebug t)

【讨论】:

  • 你能扩展“以前定义的符号,M-/”吗?我似乎无法让它工作(“X 没有动态扩展”)
  • 你能解释一下如何添加一个imenu标签吗?阅读 imenu-anywhere.el 没有帮助。
  • 自动完成在这里看起来真的很有用!
  • @Dualinity 我已经扩展了我的答案。如果您的缓冲区中有类似“mySymbol”的单词或符号,并且您输入“my M-/”,则它会扩展为 mySymbol。
  • 我计划在一周左右的时间内改进 imenu-anywhere 并将其添加到 MELPA。完成后将在此处提供更新。
猜你喜欢
  • 2015-07-27
  • 2012-06-15
  • 2014-01-17
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多