【问题标题】:Argument names using r-autoyas使用 r-autoyas 的参数名称
【发布时间】:2014-01-02 01:07:26
【问题描述】:

我最近在使用 R 脚本(emacs 24.3.1、ESS 13.09-1、Windows 8.1)时一直在使用 r-autoyas (0.28),发现它非常有用。在设置(setq r-autoyas-expand-package-functions-only nil) 后,它可以在加载的 R 库和用户定义的函数上开箱即用。

但是,我想调整它的一个小方面:我想在显式输入参数名称时保留参数名称。例如,如果我输入 'rnorm' 然后 TAB 来展开 sn-p,我会得到:

rnorm(n= , mean=0, sd=1)

然后键入 10 TAB 100 TAB 然后再次 TAB 将 sd=1 保留为默认值。我的结尾是:

rnorm(10, 100)

而我想要的是:

rnorm(n=10, mean=100)

这使得我更喜欢代码。我知道旧版本的 r-autoyas 曾经这样做过,因为它出现在 youtube 上的教程视频中,他使用 C-d 跳过参数,并使用 TAB 循环抛出它们。此外,如果一个参数被跳过(比如mean),那么所有后续参数都会被命名。例如,如果我输入 10 TAB TAB 50 C-g 我得到:

rnorm(10, sd=50)

基本上,我想知道是否可以为所有参数保留参数名称,而不仅仅是跳过参数之后的参数名称。我似乎在 github 网站上找不到任何显示如何执行此操作的内容。

谢谢

【问题讨论】:

    标签: r emacs ess yasnippet


    【解决方案1】:

    r-autoyas-remove-explicit-assignments 设置为nil。 您可以自定义此变量M-x customize-option r-autoyas-remove-explicit-assignments。在那里,您还可以找到该变量的描述。

    【讨论】:

    • 嗨 Tobias,这正是我正在寻找的答案。我在帮助中看到了这一点,但不知何故没有建立联系,它会做我想做的事。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 2013-12-15
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多