当前缓冲区的议程视图
Agenda view of the current buffer
编辑:解决方案很简单,但 "bonus points" 任何人都可以解释为什么我的方法不起作用。
原图:
我想要一个 org-mode-custom-command 来显示仅由当前缓冲区制作的议程。
以下代码片段显示了我想要的视图类型。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files '("~/.agenda/notes.org"))))))))
但是,我不想指定文件名,而是想使用当前缓冲区。这是我的尝试。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (buffer-file-name))))))))
当我打开一个组织缓冲区和 运行 这个议程命令时,结果只是一个几乎空白的议程视图。我想这是因为缓冲区文件名的评估时间晚于我按下议程视图时...?
我还在开始学习 elisp,所以请不要犹豫,指出显而易见的地方。谢谢。
编辑:
遵循评论中的建议。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (list (buffer-file-name)))))))))
我收到回溯。
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-directory-p(nil)
...etc...
对我来说,最明显的是不要创建额外的议程视图,而只需调用该缓冲区上的任何现有视图(通过调用 C-c a < a
将视图限制为当前缓冲区,其中<
当前缓冲区的限制)。
如果您仍想为当前缓冲区创建一个额外的议程视图,我不确定这是否适用于所有命令。可以肯定的是,调用 occur-tree
将在当前缓冲区上工作。不确定 todo
之类的。
...议程视图通常显示从所有议程文件 For more info 收集的信息,首先确保您尝试使议程可见或可跟踪的文件,方法是通过 org 命令激活它C-c [ (org-agenda-file-to-front)
您可以通过以下方式测试当前缓冲区名称
(message (buffer-file-name))
通常,我使用各种文件的议程视图,但我可以跟踪不同的议程,例如已完成、进行中、已修复、错误,只需使用热键
这是我的:
(setq org-agenda-custom-commands
'(
("x" agenda)
("y" agenda*)
("o" todo "ONPROGRESS")
("n" tags-todo "+TIPS")
("d" todo "DONE")
("p" todo "PENDING")
("b" todo "BUG")
("f" todo "FIXED")
;("F" todo-tree "FIXED")
))
因此,如果我想查看例如已完成的东西 C-c a d
,这将向我显示所有已完成的列表,无论它们来自哪个文件。
编辑:解决方案很简单,但 "bonus points" 任何人都可以解释为什么我的方法不起作用。
原图: 我想要一个 org-mode-custom-command 来显示仅由当前缓冲区制作的议程。
以下代码片段显示了我想要的视图类型。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files '("~/.agenda/notes.org"))))))))
但是,我不想指定文件名,而是想使用当前缓冲区。这是我的尝试。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (buffer-file-name))))))))
当我打开一个组织缓冲区和 运行 这个议程命令时,结果只是一个几乎空白的议程视图。我想这是因为缓冲区文件名的评估时间晚于我按下议程视图时...?
我还在开始学习 elisp,所以请不要犹豫,指出显而易见的地方。谢谢。
编辑:
遵循评论中的建议。
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (list (buffer-file-name)))))))))
我收到回溯。
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-directory-p(nil)
...etc...
对我来说,最明显的是不要创建额外的议程视图,而只需调用该缓冲区上的任何现有视图(通过调用 C-c a < a
将视图限制为当前缓冲区,其中<
当前缓冲区的限制)。
如果您仍想为当前缓冲区创建一个额外的议程视图,我不确定这是否适用于所有命令。可以肯定的是,调用 occur-tree
将在当前缓冲区上工作。不确定 todo
之类的。
...议程视图通常显示从所有议程文件 For more info 收集的信息,首先确保您尝试使议程可见或可跟踪的文件,方法是通过 org 命令激活它C-c [ (org-agenda-file-to-front)
您可以通过以下方式测试当前缓冲区名称
(message (buffer-file-name))
通常,我使用各种文件的议程视图,但我可以跟踪不同的议程,例如已完成、进行中、已修复、错误,只需使用热键 这是我的:
(setq org-agenda-custom-commands
'(
("x" agenda)
("y" agenda*)
("o" todo "ONPROGRESS")
("n" tags-todo "+TIPS")
("d" todo "DONE")
("p" todo "PENDING")
("b" todo "BUG")
("f" todo "FIXED")
;("F" todo-tree "FIXED")
))
因此,如果我想查看例如已完成的东西 C-c a d
,这将向我显示所有已完成的列表,无论它们来自哪个文件。