deprecatedの答えは非常に良いのですが、私にとってはうまくいきませんでした。私は現在Emacs 24.4とorg 8.2.4を使用org-indent-initialize
していますが、アドバイスは何もしませんでした。変更したインデント文字で関数を再定義する必要があり、それは機能しました。Emacs 24.5およびorg 8.3にアップグレードすると、アドバイスが機能する可能性があります。
ただし、見出しレベルごとに異なるサイズの可変幅フォントを使用しているため、他のいくつかの調整も必要でした。つまり、レベル1の見出し*
はレベル2の見出しと同じ幅ではないということです。
だから私もこれをしなければなりませんでした:
- フェース
org-hide
(見出し行のインデントに使用)およびorg-indent
(見出し行以外のインデントに使用)が同じサイズで同じフォントを使用するように設定します。
- 変数
org-indent-boundary-character
を*
デフォルト
(スペース)の代わりに設定します。これは、インデント文字の後、コンテンツの前に挿入される文字です。これを変更する必要があるかどうかはわかりませんが、一貫性を保つのに役立つようです。使用しているフォント、サイズなどによって異なります。
org-indent-initialize
推奨されないように変更を加えることに加えて、これらのことを行うことはそれを行ったようです。私は次のようなバッファになります:
見出しのレベルが下がると、インデントが見出しテキストと完全に揃わないことがわかります。これは、低レベルの見出しに小さなフォントを使用しているためだと思います。それを修正する簡単な方法はないと思います。画像プロパティや特殊文字に設定できるため、line-prefix
やなどのテキストプロパティで何かを行うことが可能かもしれませんがwrap-prefix
、それはおそらく複雑で遅いでしょう。すべての見出しレベルに同じフォントサイズを使用する場合、これはおそらく問題になりません。
とにかく、これで十分でしょう。:)
PS要求されたように、ここに私のorg-level
顔があります。これらはからコピーされcustom-set-faces
ますが、使用しないcustomize
場合は外部に設定できます。
'(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))))