C'è una modalità secondaria Emacs (o pezzo di codice elisp) che consente di nascondere/mostrare selettivamente gli ambienti mentre si trova in Sweave (Sweave = R + LaTeX)?EMACS pieghevole/dispiegato codice R
Per esempio, vorrei spostarmi all'inizio di un blocco di codice (< < >>), premere un tasto e tenere nascosto il contenuto dell'ambiente.
È possibile? Ho appena provato hs-minor-mode, allout-mode e outline-minor-mode, ma la maggior parte di essi non riconosce gli ambienti R.
Ho anche provato l'org-mode che funziona perfettamente per piegare/aprire ma, non supportano il codice di evidenziazione LaTeX per espressioni come: \ cite {}; \ Ref {}; \ Ce {} ...
Miglior Riccardo
--EDIT--
ho provato per qualche giorno per usare emacs-pieghevole-mode, ma, perché io lavoro in un tempo molto lungo codice (più di 2000 righe), la modalità di piegatura "impazzisce" e per esempio fraintende il mining di qualche carattere speciale (es. $), che ha un uso molto diverso sia in R che in LaTeX. Penso che il problema sia intrinseco a Sweave, perché nello stesso buffer ho il codice R e il codice LaTeX insieme.
Così, ora sto testando emacs outline mode minore. Ma quando mi muovo attraverso R da LaTeX (e viceversa) tutta la parte delineato erano dispiegato nonostante io scrivere nel mio .emacs:
(defun turn-on-outline-minor-mode()
(outline-minor-mode 1))
(add-hook 'ess-mode-hook 'turn-on-outline-minor-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-outline-minor-mode)
(add-hook 'latex-mode-hook 'turn-on-outline-minor-mode)
(setq outline-minor-mode-prefix "\C-c\C-o")
Hai qualche suggerimento ??
saluti
--edit 2--
Sembra funzionare:
(load "folding" 'nomessage 'noerror)
(folding-mode-add-find-file-hook)
(add-hook 'LaTeX-mode-hook 'folding-mode)
(add-hook 'ess-mode-hook 'folding-mode)
(folding-add-to-marks-list 'ess-mode "#{{{ " "#}}}" " ")
Non so se è giusto che, quando si lascia il pezzo, è automaticamente spiegato.
E 'la realizzazione di Modalità Rnw che ti dà il problema. Ho anche provato l'hideshow. Ma poiché Rnw reimposta la modalità nei blocchi che lasci/inserisci, tutto viene ripristinato. Ci sono alcuni discorsi in ESS per riscrivere il Rnw, basato su un migliore [noweb.el] (http://www.loveshack.ukfsn.org/emacs/noweb.el). – VitoshKa
Ciao, ho parzialmente risolto il problema utilizzando la modalità di piegatura. Ho ri-modificato il post con la mia soluzione. – Riccardo