59 lines
2.3 KiB
EmacsLisp
59 lines
2.3 KiB
EmacsLisp
;;; org.el --- Org appearance -*- lexical-binding: t; -*-
|
|
;;; Code:
|
|
|
|
;; Styled stars, bullets, tags, tables and blocks.
|
|
(use-package org-modern
|
|
:hook (org-mode . org-modern-mode))
|
|
|
|
(setq org-directory "~/Projects/notebook")
|
|
(setq org-startup-indented t ; visual indent per level, no real spaces
|
|
org-hide-emphasis-markers t ; *bold* shows bold, markers hidden
|
|
org-pretty-entities t ; \rarr, \alpha etc. as symbols
|
|
org-ellipsis " ▾" ; folded-heading marker
|
|
org-startup-folded 'show2levels ; open with headings only
|
|
org-fontify-whole-heading-line t
|
|
org-fontify-done-headline t
|
|
org-fontify-quote-and-verse-blocks t
|
|
org-src-fontify-natively t ; highlight src blocks with their own mode
|
|
org-src-tab-acts-natively t
|
|
org-edit-src-content-indentation 0
|
|
org-return-follows-link t)
|
|
|
|
;; org-modern's recommended settings.
|
|
(setq org-auto-align-tags nil
|
|
org-tags-column 0
|
|
org-catch-invisible-edits 'show-and-error
|
|
org-special-ctrl-a/e t
|
|
org-insert-heading-respect-content t)
|
|
|
|
(add-hook 'org-mode-hook #'visual-line-mode) ; wrap at window edge
|
|
(add-hook 'org-mode-hook (lambda () (display-line-numbers-mode -1))) ; prose reads better without
|
|
|
|
;; doom-themes' own Org fontification fixes (blocks, headings).
|
|
(doom-themes-org-config)
|
|
|
|
;; Heading sizes; 'user survives theme reloads, same as in init.el.
|
|
(doom-themes-set-faces 'user
|
|
'(org-document-title :height 1.3 :weight 'bold)
|
|
'(org-level-1 :height 1.2 :weight 'bold)
|
|
'(org-level-2 :height 1.15 :weight 'bold)
|
|
'(org-level-3 :height 1.1 :weight 'bold)
|
|
'(org-level-4 :height 1.0 :weight 'bold))
|
|
|
|
(defun my/notes-index ()
|
|
"Open the notes index."
|
|
(interactive)
|
|
(find-file (expand-file-name "index.org" org-directory)))
|
|
|
|
(keymap-global-set "C-c n" #'my/notes-index)
|
|
|
|
;; Evil's TAB (= C-i, jump-forward) shadows Org's. Rebind for Org buffers only.
|
|
(with-eval-after-load 'org
|
|
(evil-define-key 'normal org-mode-map
|
|
(kbd "TAB") #'org-cycle ; fold/unfold the heading at point
|
|
(kbd "<tab>") #'org-cycle ; GUI emits <tab>, so bind both
|
|
(kbd "RET") #'org-open-at-point
|
|
(kbd "<backtab>") #'org-shifttab)) ; S-TAB: cycle all headings
|
|
|
|
;;; org.el ends here
|