Domanda

Ci sono diverse domande sul SO su come ottenere raggruppamento del codice in emacs, senza dover aggiungere alcun carattere speciale come "marcatori" nei commenti, per esempio. Qualcuno ha detto che non vi era "nessuna soluzione perfetta."
Sembra che potrebbe essere fatto analizzando la sorgente del programma che si sta scritto e look per la parentesi di corrispondenza o staffa, o di farlo sulla base di rientro. Si potrebbe anche utilizzare una combinazione di script che utilizzano metodi diversi.
Allora perché è comunemente accettato che non v'è "perfetto" e modo semplice per ottenere il codice di piegatura in eMac? C'è qualcosa in emacs o la sua architettura che lo rende difficile da programma? Se fosse facile, dopo tanti anni di persone intelligenti che utilizzano emacs Si potrebbe pensare che qualcuno avrebbe scritto.

È stato utile?

Soluzione

Si dovrebbe giocare con NascondiMostra ( hs-minor-mode ) in combinazione con fold-dwim.el . Fa esattamente quello che ha suggerito - cerca i corrispondenti ganci / parentesi, e può essere impostato fino a ripiegare sul rientro.

C'è una soluzione pieghevole robusta là fuori per la maggior parte dei linguaggi comuni, e se non c'è, tutti i pacchetti pieghevoli sono altamente personalizzabili. Infatti, l'unico inconveniente è la proliferazione di metodi di piegatura (fold-dwim aiuta parecchio in questo); Ho usato a pensare che perché nessuno mi potrebbe puntare a una soluzione definitiva, pieghevole era difficile o impossibile - in realtà, è vero il contrario. Non vi resta che sperimentare un po 'per vedere cosa funziona meglio per voi.

Ho usato folding.el (per esempio a roba gruppo nel mio .emacs), outline-minor-mode, e ora NascondiMostra. C'è qualche possibilità che nessuno di loro avrebbe funzionato esattamente come si desidera a destra, fuori dalla scatola (ad esempio, potrebbe essere necessario impostare un regex contorno, o definire marchi pieghevoli per folding.el), ma risulta essere facile. Le scorciatoie da tastiera di default possono essere un po 'barocco, ma questo è sanata dal fold-dwim e / o hideshow-org (altamente raccomandato per NascondiMostra, cf pagina Emacswiki NascondiMostra, si può anche il comportamento di hideshow-org mimica per gli altri modi di piegatura con alcuni elisp quick-and-dirty e fold-dwim ). Una volta a capire la configurazione preferita, basta accenderla automaticamente tramite ganci o buffer-locali variabili, e guardare il vostro codice di piegare via :) (vedi sotto, notare la cliccabile + del a margine).

alt http://img198.imageshack.us/img198/4029/screenshot1oc testo. png

Altri suggerimenti

si dovrebbe guardare in CEDET. Lo fa in codice pieghevole bene, e molti altri di fantasia che hai probabilmente stai cercando se stai passando da un IDE per Emacs.

http://cedet.sourceforge.net/

In particolare, look per `global-semantico-tag-pieghevole-mode '

Non è necessario più nulla, solo abilitare outline-minor-mode per i tipi di file che si desidera piegare.

Ma in realtà, ci sono diverse soluzioni per Emacs; Ho elencato alcuni di loro (quelli che ho è capitato di imbattersi) all'indirizzo http://en.wikipedia.org/w/index.php?title=Code_folding&oldid=375300945#cite_note-2 .

Anche se, ci sono cose che mi manca: in alcuni casi, mi piacerebbe combinare diversi meccanismi: per esempio, per Markdown, mi piacerebbe usare contorno a base di piegatura (per le sezioni) e sulla base-indentazione pieghevole (per citazioni, blocchi di codice ecc.) - per non perdere tempo con l'attuazione di un parser completo per markdown

Qui sono:

basata su token pieghevole in Emacs

pieghevole

basata su token in Emacs è impemented dalla piegatura modo minore .

Rientro a base pieghevole in Emacs

Si può usare la funzione set-selective-display in Emacs per linee nascondere in base al livello di rientro, come suggerito nel codice universale pieghevole nota .

pieghevole Sintassi-dipendente Emacs

pieghevole Sintassi-dipendente Emacs è sostenuta da:

Diversi meccanismi di piegatura sono unificati dal piegare-DWIM interfaccia.

Vedi anche http://www.emacswiki.org/emacs/CategoryHideStuff .

piegatura delle regioni selezionate dall'utente in Emacs

pieghevole di regioni selezionate dall'utente in Emacs è attuato dalla nascondere-regione-nascondere comando .

Sono stato con pieghevole-mode per parecchio tempo. Con il modello di auto-inserimento e abrevs funziona abbastanza bene per me per per alcuni bei mattoni di codice.

Essere in grado di produrre il buffer piegato (per la stampa / email) è sempre stato un mio desiderio. Alcuni dei miei tag pieghevoli sono per nascondere / password sicura.

Si Infine raggruppamento del codice c'è in emacs. Prova yafolding presente alla libreria melpa.org pacchetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top