我想在 emacs 中启用自动完成功能来编辑我的 R 文件。为此,我需要列出 R 语言中的所有关键字。有人知道这是否在某处可用?我知道我必须在我正在使用的外部包中包含所有函数名称,但现在 r-cran-base 中的内容列表对我来说应该没问题。
非常感谢!
apropos
使用空字符串参数将列出搜索路径上的所有对象。它是用于在默认 GUI 中完成的选项卡。
apropos("")
[1] "-"
[2] "-.Date"
[3] "-.POSIXt"
[4] "!"
[5] "!.hexmode"
[6] "!.octmode"
...
R 语言定义列出了所有 R 的关键字。请注意,这些也是保留的。
以下标识符具有特殊含义,不能用于对象名称
if else 重复 while 函数 for in next break TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2 等。
看?Reserved
,?Control
或许?Syntax
和?Ops
。
请注意,这里讨论的内容与实际的 R 关键字无关,这是它自己的特殊之处。我怀疑这就是@HongOoi 所暗示的。
R 关键字的存在表面上是为了帮助按主题对函数进行分组,但除了 的特殊情况外internal
,并未广泛使用。
如果您想查看有效关键字列表,可以这样获取
readLines(file.path(R.home("doc"), "KEYWORDS.db"))
尝试这个
ls('package:base')
列出包中的所有对象
您可能会转到 R 缓冲区并查看以下变量(假设您有Emacs Speaks Statistics):
ess-R-font-lock-keywords
通过使用C-h v ess-R-font-lock-keywords
.
从那里开始,您可以查看 ess-custom.el 并找到实施所需的一切。
只要确保你真的想要这样做,因为 ?rcompgen
描述了 Deepayan Sarkar 在 utils-package 中已经提供“tab-completion”的内置函数。