la risposta di deprecato è molto buona, ma per me non ha funzionato. Sono attualmente su Emacs 24.4 e org 8.2.4 e la consulenza org-indent-initializenon ha fatto nulla. Ho dovuto ridefinire la funzione con il carattere di rientro modificato e ha funzionato. Forse quando eseguo l'aggiornamento a Emacs 24.5 e org 8.3 la consulenza funzionerà.
Ma ho anche dovuto apportare alcune altre modifiche, perché utilizzo caratteri di larghezza variabile di dimensioni diverse per livelli di intestazione diversi, il che significa che un'intestazione di livello 1 *non ha la stessa larghezza di un livello 2 e così via.
Quindi ho anche dovuto fare questo:
- Impostare le facce
org-hide(utilizzate per indentare le linee del titolo) e org-indent(utilizzate per indentare le linee del titolo) per assicurarsi che utilizzino lo stesso carattere con le stesse dimensioni.
- Impostare la variabile su
org-indent-boundary-characteral *posto del valore predefinito (uno spazio). Questo è il carattere che viene inserito dopo i caratteri di rientro ma prima del contenuto. Non sono sicuro che cambiare questa sia una necessità, ma sembra aiutare la coerenza. Potrebbe dipendere dal tipo di carattere che stai utilizzando, dalle dimensioni, ecc.
Fare queste cose oltre a fare il cambiamento org-indent-initializecome deprecato sembra averlo fatto. Finisco con un buffer simile a questo:

Puoi vedere che, man mano che il livello del titolo scende, il rientro non si allinea perfettamente con il testo dell'intestazione. Penso che sia a causa dell'uso di caratteri più piccoli per le intestazioni di livello inferiore e non credo che ci sia un modo semplice per risolverlo. Potrebbe essere possibile fare qualcosa con proprietà di testo come line-prefixe wrap-prefix, poiché possono essere impostate su immagini e caratteri speciali, ma sarebbe probabilmente complicato e lento. Se usi la stessa dimensione del carattere per tutti i livelli di intestazione, probabilmente questo non sarà un problema.
Comunque, questo è probabilmente abbastanza buono. :)
PS Come richiesto, ecco i miei org-levelvolti. Questi vengono copiati da custom-set-faces, ma se non lo si utilizza customizeè possibile impostarli al di fuori di esso.
'(org-level-1 ((t (:inherit variable-pitch :foreground "#cb4b16" :weight bold :height 1.3))))
'(org-level-2 ((t (:inherit variable-pitch :foreground "#859900" :weight bold :height 1.2))))
'(org-level-3 ((t (:inherit variable-pitch :foreground "#268bd2" :weight bold :height 1.15))))
'(org-level-4 ((t (:inherit variable-pitch :foreground "#b58900" :weight bold :height 1.1))))
'(org-level-5 ((t (:inherit variable-pitch :foreground "#2aa198" :weight bold))))
'(org-level-6 ((t (:inherit variable-pitch :foreground "#6c71c4" :weight bold))))
'(org-level-7 ((t (:inherit variable-pitch :foreground "#d33682" :weight bold))))
'(org-level-8 ((t (:inherit variable-pitch :foreground "#dc322f" :weight bold))))