如何在Emacs Evil模式下用RET实现Org列表自动编号?
解决方案
直接在你的Emacs配置文件(比如~/.emacs.d/init.el或~/.config/emacs/init.el)中添加以下代码即可实现需求:
1. 定义自定义函数
(defun my-org-insert-newline-or-continue-list () "Org模式下,若处于列表项中则延续编号列表,否则正常换行缩进" (interactive) (if (org-in-item-p) (org-meta-return) (newline-and-indent)))
2. 绑定按键到Evil插入模式
(evil-define-key 'insert org-mode-map (kbd "RET") 'my-org-insert-newline-or-continue-list)
功能说明
- 自定义函数会自动判断光标位置:
- 当处于Org编号列表项内时,触发原
<kbd>M-RET</kbd>对应的org-meta-return函数,自动生成下一个编号的列表项 - 当不在列表项中时,执行普通的换行缩进操作,不影响非列表场景的正常编辑
- 当处于Org编号列表项内时,触发原
- 该绑定仅作用于Org模式下的Evil插入状态,不会干扰其他模式或Evil的其他操作状态
内容的提问来源于stack exchange,提问作者Refael Sheinker
相关产品推荐
相关产品推荐

