2012-03-19 9 views
9

Sto provando a modificare un documento usando la modalità org. Il documento rappresenta un post sul blog. Ho bisogno che il corpo del post sia in markdown, quindi sto usando un blocco src.Strana rientranza all'interno del blocco src modo emacs org

Il problema è che quando si modifica o si salva il testo nel blocco src dopo averlo aperto in un altro buffer utilizzando C-c ', è presente un tipo di indentazione automatica applicata che compromette la formattazione.

Ecco i dettagli.

A cominciare con un buffer che assomiglia a questo:

* title... 
* body 
#+begin_src markdown 
Some text. 
#+end_src 

premo C-c ' e ottenere un nuovo buffer in cui posso modificare il testo mark-down a guardare nella modalità di mark-down:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam 
lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam 
viverra nec consectetur ante hendrerit. Donec et mollis 
dolor. Praesent et diam eget libero egestas mattis sit amet vitae 

Ho usato M-q per formattare le righe di testo in modo che ci siano nuove righe alla fine di ogni riga sopra. Non ci sono anche spazi iniziali.

Ora, se io o stampa C-x C-s per salvare o C-c ' la formattazione sopra viene modificato per assomigliare a questo:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam 
lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam 
    viverra nec consectetur ante hendrerit. Donec et mollis 
dolor. Praesent et diam eget libero egestas mattis sit amet vitae 

Ogni altra linea è rientrato due spazi.

Ho provato questo con altri tipi src, come l'utilizzo:

#+begin_src javascript 

ottengo rientranza simile, anche se non è così alternate. Due spazi sono aggiunti a ogni linea, invece.

Suppongo che questo non sia un bug ma le mie ricerche su Internet e la documentazione non hanno trovato la risposta.

Sto utilizzando GNU Emacs 23.4.1 su Arch Linux con Org-mode 6.33x.

Ho anche provato a utilizzare l'ultima versione di org-mode da git 7.8.05.

risposta

12

La variabile che stai cercando di personalizzare è org-edit-src-content-indentation

org-edit-src-content-rientro è una variabile definita in `org-src.el'.

suo valore è 2

Documentation: rientro per il contenuto di un blocco di codice sorgente. Questo dovrebbe essere il numero di spazi aggiunti al rientro del # + iniziare la riga per calcolare il rientro del contenuto del blocco dopo modificandolo con M-x org-edit-src-code. Non ha effetto se `org-src-preserve-indentation 'è diverso da zero.

Si può scoprire questo per voi stessi:

  1. C-h kC-c 'org-edit-special

  2. M-xapropos-variableorg-edit

+1

'org-src-preserve-indentation', che è menzionato sopra, potrebbe indirizzare più direttamente le mie esigenze. – noahdiewald

2

A prima vista sembra l'indentazione automatica dei blocchi in Org. So che per impostazione predefinita tenta di far rientrare il corpo del blocco in due spazi dalle linee #+begin e #+end.

Tuttavia, vorrei raccomandare l'aggiornamento a una versione più recente di Org. 6.33x è molto vecchio e nel frattempo sono state apportate modifiche ai blocchi di codice. È disponibile in AUR (Here). Comunque mi raccomando di usare git per estrarre la versione 7.8.03 al momento, si è verificato un errore durante il rilascio di 7.8.04 e successivamente 7.8.05 e sono nel bel mezzo di risolverlo. In alternativa, la versione in bundle con Emacs24 è stabile e molto più aggiornata.

+0

Ho aggiornato usando git e sto vedendo la stessa cosa. – noahdiewald

Problemi correlati