2015-05-06 13 views
5

Vorrei testare le parti del codice nel mio codice Markdown R senza lasciare il testo sublime.Come eseguire il codice R nel file R Markdown in SublimeREPL?

Per esempio:

Multiplying the grades with two solves the unreliability problem: 
```{r} 
chisq.test(2*grades) 
``` 

Nell'esempio di cui sopra, vorrei selezionare la linea che ha il codice "chisq.test (2 * gradi)", premere la mia combinazione di tasti, e lo hanno corse in SublimeREPL come codice R.

Tuttavia, quando provo questo, ottengo il seguente errore da SublimeREPL:

Non riesci a trovare REPL per 'HTML.markdown.rmarkdown'

Quando cambio la sintassi attraverso il menu Visualizza su "R" (anziché su R Markdown), il codice funziona correttamente. Questa è una soluzione alternativa, ed è indesiderabile perché mi costa l'evidenziazione della sintassi R Markdown.

Sospetto che la soluzione stia semplicemente copiando alcune righe del codice del pacchetto SublimeREPL e riproponendole per R Markdown, ma non sono stato ancora in grado di ottenere alcun risultato. Apprezzerei qualsiasi aiuto.

risposta

5

Da this answer:

  1. Aperte ~/.config/sublime-text-3/Packages/SublimeREPL/config/R/Main.sublime-menu

  2. Aggiungi la tua scode per l'opzione "additional_scopes":

    "additional_scopes": ["HTML.markdown.rmarkdown","tex.latex.knitr"], 
    
  3. Salvare il file, chiudere la scheda REPL, riavviare sublime e apri una nuova istanza REPL.

+0

Grazie, scoa! Questa soluzione funziona perfettamente. Una nota: non era chiaro per me che la scheda SublimeREPL in Sublime Text doveva essere chiusa e riaperta affinché la soluzione iniziasse a funzionare. Dopo alcuni tentativi falliti, ho visto che questo è ciò che intendevi quando hai detto "riavvia REPL" (in precedenza pensavo che il riavvio di Sublime Text avrebbe riavviato anche questo). – Clokman

+0

@Asph Ci scusiamo per questo. Modificherò la mia risposta per chiarirla. – scoa

+0

Non so perché, ma sembra che il nome dell'ambito sia cambiato: ho ricevuto lo stesso errore con "html.markdown.knitr" invece di "HTML.markdown.rmarkdown". L'aggiunta di "html.markdown.knitr" in "additional_scopes" l'ha risolto. – 5th