繁体   English   中英

如何在Emacs中找到完成的组织模式文件?

[英]How do I find org-mode files with completion in Emacs?

我有一组越来越多的存储在org-directory的org文件。 如何在它们之间导航,最好是通过交互式过滤和完成?

我认为有一种方法可以让org-mode生成一个已知的org文件列表以便快速导航,但我似乎无法找到它。 如果org-mode没有这个功能,我怎么能做一个简单的命令来启动像helm或icicles这样的东西来找到它们?

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

  1. org-directory Cx Cf *.org RETURN将打开它们(缓冲区正在访问它们,但只显示最后一个)。

  2. org-directory Cx Cf *.org TAB ,使用完成显示它们,然后选择你想要的任何一个(或选择多个,使用glob模式,如#1)。

  3. 与#2相同,使用Icicles或Helm。 至少在Icicles中,您还可以使用正则表达式和其他方式进行匹配。

  4. 打开Dired只为这些文件: Cx 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"))

Mx foo测试它。 把它放在你的init文件中:

(foo)

而这里的另一种方式: Mx bar或绑定bar的关键。

(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)))

我有一个包就是这样: plain-org-wiki 它没有太复杂:我只是将我的所有45个组织文件转储到一个目录中并完成它们。

org-iswitchb怎么 ,org已经提供了?

组织之间的女巫缓冲。 使用一个前缀参数,将可用缓冲区限制为文件。 使用两个前缀参数,将可用缓冲区限制为议程文件

在加载org后将其添加到启动文件中: (global-set-key "\\C-cb" 'org-iswitchb)

我最喜欢的解决方案是使用MELPA的helm包激活的helm-mode 这是一个演示:

头盔模式完成

它确实为快速搜索文件创造了良好的环境。 另外,可以实现模糊完成! 这是一个最小配置(在安装helm包之后):

(require 'helm-config)
(helm-mode 1)
(global-set-key (kbd "C-x C-f") 'helm-find-files)

如果您想搜索其内容,也可以对文件运行grep 如果您想了解更多信息,请查看这本精彩的指南

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM