ess-rdired: я получаю эту ошибку, сейчас с этим буфером не связан процесс ESS

Чтобы использовать ess-rdired для просмотра объектов, я следовал руководству ESS и добавил в свой .emacs следующее:

(autoload 'ess-rdired "ess-rdired"
  "View *R* objects in a dired-like buffer." t)

Когда я выполняю M-x ess-rdired, появляется буфер со списком объектов в вашей текущей среде.

Однако, когда я нажимаю такие ярлыки, как p, v, я получаю эту ошибку:

«сейчас с этим буфером не связан ни один процесс ESS».

Кроме того, может ess-rdired обновлять информацию об объектах при их изменении?


person Yoh    schedule 18.12.2012    source источник
comment
это известная проблема, по крайней мере, в отношении Sweave. Я считаю (но не уверен), что это исправлено в разрабатываемой версии. В настоящее время я использую обходной путь - использовать C-c C-s и связывать буфер с запущенным процессом R. Надеюсь это поможет   -  person richiemorrisroe    schedule 18.12.2012
comment
@richiemorrisroe, ваш метод работает после добавления (setq-default ess-dialect R). Спасибо. Однако эта проблема кажется нечастой. Это потому, что большинство людей вообще не используют его для управления рабочим пространством?   -  person Yoh    schedule 18.12.2012


Ответы (1)


У меня была та же проблема, и, конечно же, C-c C-s ее решает. Я добавил следующую функцию в свой файл dot emacs, чтобы автоматизировать это. Я сопоставил функцию с C-c o, которая загрузит или обновит ее. Любые улучшения приветствуются!

(defun ess-R-show-objects ()
  "Calls rdired and associates with R process"
  (interactive)
  (if (get-buffer "*R*") ;;Only run if R is running
      (progn
        (ess-rdired)
        (ess-rdired-switch-process))
    (message "No R process")
    )
  )
(global-set-key (kbd "\C-co") 'ess-R-show-objects)
person Manuel Morales    schedule 29.11.2014