如果源是org文件,如何将其复制到其他缓冲区?
** TODO task #1
- some text for task #1
** TODO task #2
- some text for task #2
但是当你折叠所有任务时,它会看起来像:
** TODO task #1 ...
** TODO task #2 ...
我想标记所有任务并将其复制到另一个缓冲区中,它必须看起来像第二种变体。不要包括存储在每个任务内部的任务文本。 我该怎么做?
org-copy-visible
(C-c C-x v
) 将当前区域可见内容复制到 kill-ring。(通常可以首先使用C-x h
标记整个缓冲区。)C-x C-e
)提供了“仅可见内容”开关,如果您想将该内容导出为不同格式。M-x org-export-visible RET SPC
会将您的 org-mode 缓冲区中仅当前可见的文本复制到一个新缓冲区中。
如果您想要将其绑定到(例如)org-export-visible 是 `org-exp.el' 中一个交互式编译过的 Lisp 函数。
(org-export-visible TYPE ARG)
创建当前缓冲区可见部分的副本,并导出它。该副本创建在一个临时缓冲区中,使用后将被删除。 类型是最终键(作为字符串),也可以选择`C-c C-e' 导出调度程序中的导出命令。 特殊情况是,如果您在提示符处键入 SPC,则不会删除临时 org-mode 文件,而是呈现给您以便继续使用它。前缀参数 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模式并访问文件,则还可以首先按'<'一次,以指示议程应该暂时(直到下一次使用C-c a)限制为当前文件。按两次'<'表示限制为当前子树或区域(如果活动)。
org-mode
源自outline-mode
,因此似乎outline-headers-as-kill
应该是相关的,但实际上并不起作用。虽然值得一提,但也许有一个相对简单的解决方法? - phils