代码之家  ›  专栏  ›  技术社区  ›  RusAlex

如何在组织模式缓冲区中仅从折叠状态复制可见文本?

  •  8
  • RusAlex  · 技术社区  · 14 年前

    如果来源是,如何将组织文件复制到其他缓冲区:

    ** TODO task #1
       - some text for task #1
    ** TODO task #2 
       - some text for task #2
    

    但是当你折叠所有的任务时

    ** TODO task #1 ...
    ** TODO task #2 ...
    

    我想标记所有任务并复制到另一个缓冲区,它必须看起来像第二个变量。不要包含存储在每个任务中的任务的文本。 我该怎么做?

    3 回复  |  直到 9 年前
        1
  •  12
  •   phils    9 年前

    根据亨迪的评论,在当前版本的组织模式中,您使用 org-copy-visible ( C-c C-x v )将当前区域的可见内容复制到终止环。( C-x h 可以像往常一样,首先用于标记整个缓冲区。)

    另外,请注意导出调度菜单( C-x C-e )如果要将内容导出为其他格式,则提供“仅可见”开关。

    对于旧版本的组织模式,以下原始答案仍然适用:


    M-x org-export-visible RET SPC 将仅将组织模式缓冲区的当前可见文本复制到新缓冲区。

    org export visible是一个交互式编译的lisp函数 “Org-Exel.EL”。

    (组织导出可见类型arg)

    创建当前缓冲区可见部分的副本,并将其导出。 副本在临时缓冲区中创建,并在使用后删除。 类型是最后一个键(作为字符串),它还可以在 “c-c c-e”导出调度程序。 特殊情况下,如果在提示下键入spc,则 组织模式文件不会被删除,但会显示给您,以便您可以 继续使用。前缀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)))))
    
        2
  •  6
  •   Yisrael Dov    10 年前

    org-copy-visible 你需要什么就做什么。

        3
  •  0
  •   Dave Bacher    14 年前

    尝试 M-x org-todo-list (或) C-C-A )这会列出 托多 在*org agenda*缓冲区中的条目(在议程文件列表中列出的文件中)。

    您可能需要将当前文件添加到议程文件列表中。从 org-agenda 文档:

    如果当前缓冲区处于组织模式并访问文件,则还可以 首先按一次“<”,表示议程应暂时 (直到下次使用c-c a)仅限于当前文件。 按两次“<”表示限制到当前子树或区域 (如果是活动的)。