Недавно я использовал r-autoyas (0.28) при работе со сценариями R (emacs 24.3.1, ESS 13.09-1, Windows 8.1) и нашел его очень полезным. Он работает «из коробки» с загруженными библиотеками R и пользовательскими функциями после установки (setq r-autoyas-expand-package-functions-only nil)
.
Однако я хотел бы изменить один небольшой аспект: я хотел бы сохранить имена аргументов при явном вводе их значений. Например, если я наберу «rnorm», а затем TAB, чтобы развернуть фрагмент, я получу:
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, который показывает, как это сделать.
Спасибо