Emacs中的r-autoyas

我试图让r-autoyas在Emacs 23.3.1上工作

我已经安装了yasnippet,它可以自行运行.例如:在c模式中’for’之后的TAB会自动扩展.然后我继续使用r-autoyas工作.我已经按照github存储库中给出的说明进行操作,但是即使在R缓冲区中的内置函数中也无法使TAB扩展.

如果我输入,rnorm(然后按TAB,一个迷你缓冲打开,向我显示函数的各种参数.这是默认行为吗?或者它应该填写输入参数作为默认值,让我逐个更改它们?

我在网上搜索,看看是否有其他人遇到过这个问题.在一个论坛中,有人提到它可能是因为Emacs中的自动完成功能.

我在init.el文件中有以下行,这些行在说明中给出:

(需要’r-autoyas)

(add-hook’ess-mode-hook’r-autoyas-ess-activate)

(add-hook’ess-mode’yas / minor-mode-on)

最佳答案 您需要为ESS / R添加自己的yasnippets才能使yasnippet扩展正常工作.默认情况下没有.

键入rnorm时所看到的行为(< TAB>与yasnippet无关,这是ESS提供的行为,使您的R编码生活更轻松.

所以 – 您必须为R创建自己的代码片段.您需要在yasnippets所在的text-mode / ess-mode目录下执行此操作(您必须创建ess-mode目录).

Here are some of my R snippets.我以为我会更多地使用它们,但我只是使用setGeneric和setMethod片段……而且那些也不是那些防弹证明.

点赞