我有一个'meetings.org'文件,我保存...呃,我的会议。 每个标题都是一个特定的主题,小标题(**(有一个time-stamp
,指的是系列中出现的特定会议:
* My favourite meeting
** <2018-09-11>
something very important to discuss
我想在本周的议程视图中可视化会议的名称。为此,按照我对此处属性和此处解释的column-view
的理解,我尝试通过在属性名称中添加后缀_ALL
来定义继承的属性,如下所示:
* My favourite meeting
:PROPERTIES:
:Name_ALL: CMOS Meeting
:END:
** <2018-09-11>
something very important to discuss
此外,在会议文件的顶部,我添加以下内容:
#+COLUMNS: %30ITEM %20Name_ALL %TODO %3PRIORITY %TAGS
但是,这不会导致属性在列视图中可视化。如果我有以下任一条件,则相同的过程有效:
1 - 定义子标题内的属性
2 - 有一个带有时间戳本身和定义的属性的标题
我做错了什么?
如果要打开继承,则需要设置一个变量。 默认情况下,继承处于关闭状态,以避免减慢搜索速度。 若要打开继承,请设置为t
org--use-property-inheritance
变量。
请参阅:https://orgmode.org/manual/Property-inheritance.html
你快到了!您(可能(还需要做一件事,还有一个小错误需要修复。
首先,另一个答案是正确的,您可能需要更改org-use-property-inheritance
的值(因为默认情况下它是nil
,这会禁用(大多数(属性继承。
至于第二件事,我认为您(可以理解(误解了您链接的文档。属性PropertyName_All
是一种特殊形式,允许您使用名称PropertyName
预先指定属性的允许值。实际上,您的设置要求所有Name
值要么CMOS
要么Meeting
。作为您可能想要使用它的示例,如果您要将所有会议分类为"有趣"或"无聊",则可以设置MeetingType_All: Fun Boring
,然后当您使用组织模式工具设置子节点中的属性时,您将获得一些自动完成帮助和其他好东西,以便在"有趣"或"无聊"之间快速选择。MeetingType_All
本身就是一个属性,实际上它是一个特殊的属性,无论org-use-property-inheritance
的值如何,它都会被其后代继承(这是你链接的指南正在讨论的"继承"的意义(。
这是文件的编辑版本,它既会打开属性继承(仅适用于Name
属性(,又会只使用文件局部变量对当前文件执行此操作:当您在 Emacs 中打开它时,它会询问您是否要实际设置值,这是防止恶意代码通过文件局部变量潜入的保护措施。
如果希望继承在任何地方都有效,则可以全局自定义变量org-use-property-inheritance
的值。 可能最简单的方法是键入M-x customize RET
,然后搜索org-use-property-inheritance
,并使用界面更改值并可能使其在 emacs 会话中持久化。
如果打开此文件的列视图,则应看到子条目正确继承的"CMOS 会议"。
#+COLUMNS: %30ITEM %20Name %TODO %3PRIORITY %TAGS
* My favourite meeting
:PROPERTIES:
:Name: CMOS Meeting
:END:
** <2018-09-11>
something very important to discuss
# Local Variables:
# org-use-property-inheritance: ("Name")
# End: