
__
(defun scimax/org-return () "Add new list or headline " (interactive) (cond ((org-in-item-p) (if (org-element-property :contents-begin (org-element-context)) (org-insert-heading) (beginning-of-line) (kill-line) (org-return))) ((org-at-heading-p) (if (not (string= "" (org-element-property :title (org-element-context)))) (org-insert-heading) (beginning-of-line) (kill-line) (org-return))) ((org-at-table-p) (if (-any? (lambda (x) (not (string= "" x))) (nth (- (org-table-current-dline) 1) (org-table-to-lisp))) (org-return) ;; empty row (beginning-of-line) (kill-line) (org-return))) (t (org-return)))) (with-eval-after-load 'org (define-key org-mode-map (kbd "RET") 'scimax/org-return))
(参考サイト)
https://emacs.stackexchange.com/questions/24574/org-mode-default-to-alt-enter-for-bullets
なお、こちらに改良版があるがbuffer-substringで警告が出るので当面は上のほうを使うことにする。
(参考サイト)
https://kitchingroup.cheme.cmu.edu/blog/2017/04/09/A-better-return-in-org-mode/
なお、org-autolistというパッケージもあるが、これはリストだけであって見出しには有効ではないようだ。
リストだけこの挙動になってほしい人は使ってみてほしい。