Die Antwort von deprecated ist sehr gut, hat aber bei mir nicht ganz funktioniert. Ich bin derzeit auf Emacs 24.4 und org 8.2.4, und Beratung org-indent-initialize
hat nichts getan. Ich musste die Funktion mit dem geänderten Einrückungszeichen neu definieren, und das funktionierte. Vielleicht funktioniert die Beratung, wenn ich auf Emacs 24.5 und org 8.3 aktualisiere.
Ich musste aber auch einige andere Anpassungen vornehmen, da ich Schriftarten mit variabler Breite und unterschiedlicher Größe für verschiedene Überschriftenebenen verwende, was bedeutet, dass eine Überschrift der Ebene 1 *
nicht die gleiche Breite hat wie eine Überschrift der Ebene 2 und so weiter.
Also musste ich das auch machen:
- Stellen Sie die Flächen
org-hide
(zum Einrücken von Überschriften) und org-indent
(zum Einrücken von Nicht-Überschriften) so ein, dass sie dieselbe Schriftart mit derselben Größe verwenden.
- Setzen Sie die Variable
org-indent-boundary-character
auf *
anstelle der Standardeinstellung
(ein Leerzeichen). Dies ist das Zeichen, das nach den Einrückungszeichen, jedoch vor dem Inhalt eingefügt wird. Ich bin mir nicht sicher, ob es notwendig ist, dies zu ändern, aber es scheint die Konsistenz zu verbessern. Dies kann von der verwendeten Schriftart, den Größen usw. abhängen.
Diese Dinge zusätzlich dazu zu tun, die Änderung org-indent-initialize
als veraltet vorausgesetzt vorzunehmen, scheint es getan zu haben. Am Ende habe ich einen Puffer, der so aussieht:
Sie können sehen, dass der Einzug mit abnehmender Überschriftenebene nicht perfekt zum Überschriften-Text passt. Ich denke, das liegt an der Verwendung kleinerer Schriftarten für Überschriften auf niedrigerer Ebene, und ich glaube, es gibt keinen einfachen Weg, dies zu beheben. Es könnte möglich sein, etwas mit Texteigenschaften wie line-prefix
und zu tun wrap-prefix
, da diese auf Bilder und Sonderzeichen gesetzt werden können, aber das wäre wahrscheinlich kompliziert und langsam. Wenn Sie für alle Überschriftenebenen dieselbe Schriftgröße verwenden, ist dies wahrscheinlich kein Problem.
Jedenfalls ist das wahrscheinlich gut genug. :)
PS Wie gewünscht, hier sind meine org-level
Gesichter. Diese werden von kopiert custom-set-faces
, aber wenn Sie sie nicht verwenden customize
, können Sie sie außerhalb davon einstellen.
'(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))))