2012-12-18 18 views
8

Per utilizzare ess-rdired per sfogliare gli oggetti, ho seguito il manuale di SSE e ha aggiunto il seguente al mio .emacs:ess-rdired: Ottengo questo errore "nessun processo ESS è associato con questo buffer ora"

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

Quando Io faccio Mxess-rdired, un buffer che elenca gli oggetti nel tuo ambiente attuale appare.

Tuttavia, quando si preme scorciatoie come p, v ottengo questo errore:

"no ESS process is associated with this buffer now."

Inoltre, può ess-rdired aggiornamento informazioni degli oggetti quando sono cambiati?

+1

questo è un problema noto, almeno in relazione a Sweave. Credo (ma non sono sicuro) che è stato risolto nella versione di sviluppo. La soluzione che attualmente utilizzo è quella di usare 'C-c C-s' e associare il buffer a un processo R in esecuzione. Spero che questo aiuti – richiemorrisroe

+0

@richiemorrisroe, il metodo funziona dopo aver aggiunto (setq-default ess-dialect "R"). Grazie. Tuttavia, questo problema sembra non comune. È perché la maggior parte delle persone non la usa per gestire lo spazio di lavoro? – Yoh

risposta

2

Ho avuto lo stesso problema e sicuramente C-c C-s lo risolve. Ho aggiunto la seguente funzione al mio file dot emacs per automatizzarlo. Ho mappato la funzione a C-c o che verrà caricata o aggiornata. Qualsiasi miglioramento sarebbe molto gradito!

(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)