【发布时间】:2014-10-09 00:55:39
【问题描述】:
我使用org-mode 的自定义版本lawlist-org-mode——每个函数和变量都有前缀lawlist-,修改后的版本有许多自定义功能在库存版本中不可用。有时,我喜欢使用库存的org-mode 版本——但是,这需要手动修改auto-mode-alist,然后重新启动Emacs。这是必要的,因为函数和变量org-agenda-files 以及org-mode 执行的检查以验证是否存在正确的主模式。是否有一种有效的方法可以根据被调用的函数以编程方式修改它?
股票org-mode需要这个条目:
(add-to-list 'auto-mode-alist '("\\.todo\\'" . org-mode))
名为lawlist-org-mode 的自定义版本需要此条目:
(add-to-list 'auto-mode-alist '("\\.todo\\'" . lawlist-org-mode))
示例:
如果我调用
M-x org-agenda,.todo文件需要在org-mode中。如果我调用
M-x lawlist-org-agenda,.todo文件需要在lawlist-org-mode中。
一些想法:org-agenda-files 通常由 org-agenda 函数使用以下代码行访问 - (org-agenda-files nil 'ifmode) . . . (while (setq file (pop files))。也许修改函数org-agenda-files 是一种选择?
【问题讨论】:
-
完全 OT,但我很好奇:你们的
org-mode版本提供了哪些库存版本中没有的功能?获得了托管您的代码的在线存储库的链接?我很想看看:) -
@itsjeyd -- 第一个链接的代码与
org-toodledo.el兼容,它显示了一个带有标题 + 截止日期/预定 + 注释的自定义议程缓冲区:github.com/lawlist/lawlist-org -- 第二个链接提供了与3 个月和 12 个月的日历,其中某些待办事项条目会自动标记在日历上(例如,生日、约会、法庭假期)等:github.com/lawlist/calendar-yearly-scroll-by-month 我的 org-mode / calendar-mode 自定义版本提供了一些额外的东西,但是这两个链接是主要成分。 -
@itsjeyd -- 自定义
*Org Agenda*缓冲区的术语,我有三种主要类型的搜索,它们都显示标题+截止日期/预定+注释:截止日期/预定搜索基于@987654346 @、org-tags-view用于标签,org-search-view用于关键字搜索。我对*Org Agenda*缓冲区有额外的排序标准,用于组织未注明日期和已注明日期的待办事项、按字母顺序排列和分组——例如,任务、事件、未注明日期、已完成和联系人。我有与*Org Agenda*缓冲区相同的通用编辑类型——例如时间戳、待办事项、内容。 -
太棒了,感谢您的信息+链接,我会检查出来!