有没有办法在emacs组织模式中隐藏除最后一个标题星号之外的所有星号



我真的很喜欢组织和组织项目符号,我想完全隐藏标题的前导星号,这样标题(及其漂亮的图标/项目符号(就可以与窗口的左侧齐平。

我在Reddit的一个线程中发现了这个函数,它似乎主要做我想做的事情,只是它删除了所有的星号。我想保留最后一个。

(defun me-org-mode-remove-stars ()
(font-lock-add-keywords
nil
'(("^\*+ "
(0
(prog1 nil
(put-text-property (match-beginning 0) (match-end 0)
'invisible t)))))))
(add-hook 'org-mode-hook #'me-org-mode-remove-stars)

作为emacs和lisp的新手,我的第一个想法是修改正则表达式,但事实证明这里没有前瞻性,所以我很难表达";选择一系列中的所有星号,但后面跟有空格字符"的星号除外;或者类似的东西。

有正确的方法吗?

您可以将变量org-hide-leading-stars设置为t,然后它将隐藏标头中的所有前导星。您甚至可以使用组织模式指令为特定文件启用或禁用该功能。参见内置文档(C-h v org-hide-leading-stars(&信息页面了解更多详细信息。(我个人使用(

附言:还有另一种方法可以做到这一点——通过org-ident-mode,但我还没有尝试过

相关内容

最新更新