如果源是:如何将 org 文件复制到其他缓冲区:
** TODO task #1
- some text for task #1
** TODO task #2
- some text for task #2
但是当你折叠所有任务时,它看起来像
** TODO task #1 ...
** TODO task #2 ...
我想标记所有任务并复制到另一个缓冲区,它必须看起来像第二个变体。不要包含存储在每个任务中的任务文本。我该怎么做?
根据 Hendy 的评论,在当前版本的 org-mode 中,您使用org-copy-visible
( C-c C-x v
) 将当前区域的可见内容复制到 kill ring。(C-x h
可以像往常一样首先用来标记整个缓冲区。)
此外,请注意导出调度菜单 ( C-x C-e
) 提供了“仅可见”开关,如果您想将该内容导出为不同的格式。
对于旧版本的 org-mode,以下原始答案仍应适用:
M-x org-export-visible RET SPC
只会将组织模式缓冲区的当前可见文本复制到新缓冲区中。
org-export-visible 是 org-exp.el 中的一个交互式编译 Lisp 函数。
(org-export-visible TYPE ARG)
创建当前缓冲区可见部分的副本,并将其导出。副本在临时缓冲区中创建并在使用后删除。TYPE 是最后一个键(作为一个字符串),它也在“Cc Ce”导出调度程序中选择导出命令。作为一种特殊情况,如果您在提示符下键入 SPC,临时 org-mode 文件将不会被删除,而是呈现给您,以便您可以继续使用它。前缀 arg ARG 被传递给导出命令。
如果你想绑定它(C-c o
在这个例子中),你可以使用以下内容:
(add-hook 'org-mode-hook 'my-org-mode-hook)
(defun my-org-mode-hook ()
"Custom behaviours when entering org-mode."
(local-set-key (kbd "C-c o") (function (lambda () (interactive)
(org-export-visible ?\s nil)))))
有org-copy-visible
,那应该完全符合您的需要。
尝试M-x org-todo-list
(或C-c a t)。这会在 *Org Agenda* 缓冲区中显示TODO条目列表(在议程文件列表中列出的文件中)。
您可能需要将当前文件添加到议程文件列表中。从org-agenda
文档:
如果当前缓冲区处于 Org 模式并正在访问文件,您也可以先按一次“<”以指示议程应暂时(直到下次使用 Cc a)限制在当前文件中。按“<”两次意味着限制到当前子树或区域(如果处于活动状态)。