通常、新規項目として見出しを作る場合にはC-RET(Controlキーを押しながらEnterキー)またはM-RET(Altキーを押しながらEnterキー、またはEscキーを押した後、Enterキー)が必要になる。
Controlキーを使った操作は慣れているとはいえ、頻回Controlキーに左手小指を伸ばすのもつらい。
PowerPointなどはEnterを押すだけで新規見出しが作られる。
今回はorg-modeでこの動作が可能になるカスタマイズ方法を紹介する。
.emacsなどに以下を追加しよう。
(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というパッケージもあるが、これはリストだけであって見出しには有効ではないようだ。
リストだけこの挙動になってほしい人は使ってみてほしい。
コメント