emacs - 如何在 Emacs 中找到完成的 org-mode 文件?

标签 emacs org-mode icicles emacs-helm

我有越来越多的 org 文件存储在 org-directory 中.如何在它们之间导航,最好使用交互式过滤和完成?

我认为有一种方法可以让 org-mode 生成一个已知 org 文件列表以便快速导航,但我似乎找不到它。如果 org-mode 没有此功能,我该如何创建一个简单的命令来启动诸如 helm 或 icicles 之类的东西来找到它们?

最佳答案

这个问题对我来说不是很清楚。但是,如果您的 Org 模式文件都具有特定的文件名模式(例如 *.org )并且都在同一个目录中( org-directory ),那么您可以使用 Emacs 的几种方法来访问它们:

  • C-x C-f *.org RETURNorg-directory打开它们(缓冲区正在访问它们,但只显示最后一个)。
  • C-x C-f *.org TABorg-directory , 使用完成显示它们,然后选择您想要的任何一个(或选择多个,使用 glob 模式,如#1)。
  • 与 #2 相同,使用 Icicles 或 Helm。至少在 Icicles 中,您还可以使用正则表达式和其他方式进行匹配。
  • 仅针对这些文件打开 Dired:C-x d *.org .

  • 确实有很多方法可以做你所描述的事情。但我猜你没有真正描述你的请求/问题/问题,当你这样做时,你会得到一组更窄的答案。

    评论后更新:

    这是一种方法:在 org-directory 及其下的所有 Org 文件上打开 Dired .
    (defun foo ()
      "Open Dired for (only) the Org files in and under `org-directory`."
      (interactive)
      (cd org-directory)
      (dired "*.org" "-lRF"))
    

    使用 M-x foo 进行测试.把它放在你的初始化文件中:
    (foo)
    

    还有另一种方式:M-x bar或绑定(bind)bar到一把 key 。
    (defun bar ()
      "Open an Org file in or under `org-directory`."
      (interactive)
      (let ((default-directory         org-directory)
            (icicle-file-match-regexp  ".*\\.org"))
        (icicle-locate-file-of-content)))
    

    关于emacs - 如何在 Emacs 中找到完成的 org-mode 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31442025/

    相关文章:

    regex - 如何进行复杂的多缓冲区搜索?

    emacs - emacs 中的非数字参数

    postgresql - 如何在文件头中指定 SQL 产品

    emacs 颜色主题初始化

    emacs - 组织模式嵌套属性?

    组织模式:点导出为省略号

    emacs - .org文件中提供了org-mode手册吗?

    user-interface - 如何在emacs中获得顶部和底部边距

    emacs - 以编程方式将文本插入到通常会阻止事件循环的命令中

    Emacs:导航目录和打开文件的好策略是什么?