Emacs组织模式:如何同时过滤标签和todo状态?

Emacs组织模式:如何同时过滤标签和todo状态?,emacs,org-mode,Emacs,Org Mode,我正在使用组织模式的议程功能(键盘快捷键:C-CA),以便对我的所有任务生成不同的排序视图。我通过定义变量org agenda custom commands来实现这一点。如果我的init文件中有以下代码: (setq组织议程自定义命令'( (“p”“项目”标签“项目”) )) 我可以通过使用快捷方式C-cap筛选出标记为“PROJECT”的任务。同样,我可以使用以下代码: (setq组织议程自定义命令'( (“t”待完成任务“标记todo”todo=\“todo\”) )) 使用快捷方式C-C

我正在使用组织模式的议程功能(键盘快捷键:C-CA),以便对我的所有任务生成不同的排序视图。我通过定义变量
org agenda custom commands
来实现这一点。如果我的init文件中有以下代码:

(setq组织议程自定义命令'(
(“p”“项目”标签“项目”)
))

我可以通过使用快捷方式
C-cap
筛选出标记为“PROJECT”的任务。同样,我可以使用以下代码:

(setq组织议程自定义命令'(
(“t”待完成任务“标记todo”todo=\“todo\”)
))

使用快捷方式
C-C a t
筛选出todo状态等于
todo
的任务。我的问题是,如何定义
org aganda自定义命令
,以筛选出todo状态等于
todo
且标记等于
PROJECT
的任务


提前感谢:)

标签搜索视图名称不正确。它实际上搜索标记和属性<代码>标记待办事项添加仅与待办事项标题匹配的额外条件。使用“+”表示需要条件(使用“-”表示禁止)。因此
+PROJECT+TODO=\“TODO\”
将标题与标记
:PROJECT:
和TODO关键字
TODO
匹配。放入自定义命令看起来像

(setq org-agenda-custom-commands
      '(("p" "List Non-done projects"
          tags "+PROJECT+TODO=\"TODO\"")))

您是否能够使用手册中提到的高级搜索技术获得所需的视图?如果是这样的话,那么问题就在于找出需要传递给相关函数的参数——例如,
org tags view
。您可能还对
org agenda skip函数感兴趣
:您可能应该熟悉函数名称,而不是使用键盘快捷键来引用函数。不,我无法获得所需的视图。这是我的问题。如何创建一个视图来筛选出状态为TODO和tag PROJECT的任务?请尝试在
*Scratch*
缓冲区中对此进行评估,看看这是否会生成您要查找的结果类型:
(org tags view t“PROJECT”)
函数
org tags view
中的第一个参数是是否将搜索限制为仅搜索TODO条目——第二个参数是要匹配的内容。您可以通过将光标放在右括号的右侧并键入
C-x C-e
来计算表达式,也可以键入
M-x eval expression RET(org tags view t“project”)RET
谢谢,它起了作用:)但是:(1)您的答案不是一种操纵
org agenda自定义命令的方法,这就是我想做的。是否可以将
标签
待处理标签
组合在一起?以下代码不起作用:
(setq org agenda custom commands'(“x”列出未完成的项目“tags todo”todo=\“done\”tags“PROJECT”)
)(2)在哪里可以阅读
org tags view
变量?键入
C-hv-org-tags-view
会导致“不匹配”。为什么?
org tags view
是一个函数,而不是一个变量。您可以通过
C-h f org tags view
`查看帮助信息,谢谢,答案非常翔实:)但是为什么这里有一个asymetri。我们必须编写
TODO=\“TODO\”
,但我们不必编写
tag=\“PROJECT\”
。那会更合乎逻辑,不是吗?我是否可以使用
标记
搜索筛选出在非标题文本中只有一个特殊单词的任务,而不仅仅是标记中的文本?我想默认的想法是匹配标记,并匹配您必须提供属性的任何其他内容;你的说法似乎更符合逻辑。。为了匹配非标题/属性文本,可能使用
搜索
命令会更好?如果我将代码中的
标记
标记todo
交换,代码是否仍能正常工作?我想会(
标记todo
仅限于搜索todo标题)。只有一种方法可以确定……还有一种快捷语法是
标记“PROJECT/TODO”
,它与
标记“+PROJECT+TODO=\“TODO\”
相同。