如何搜索文件夹的名称

我使用obsidian有两年的时间了,现在有807条文件,然后这些文件是放在不同文件夹里面的。现在的情况是文件夹有点多,所以求助有没有可以直接搜素文件夹名称的方法。


我看到Clever Search有此功能,但是插件安装之后并没有实现,搜索文件夹名跳出对应文件夹。

大概最接近的是全局搜索时的 “路径匹配功能 path:

path: 之后啥也不写, 就会列出仓库里所有文件夹, 追加几个字符可进一步过滤文件夹, 选定路径后就会列出该文件夹下的所有笔记

image


完后一个问题是, 怎么在 Ob 里 “选定” 某个 路径 而非选定笔记, 这个我目前没啥想法 (除了上述搜索的办法以外)

目前只知道, 一些插件通过给目录制造造同名笔记的方式, 表现的好像是 “选中文件夹” 了, 实际上这还是在操作笔记

1 个赞

请问搜索文件夹的需求是什么呢?即使文件夹比较多,实际上我们需要的不还是文件么,直接搜索文件不就好了

请问搜索文件夹的需求是什么呢?

我自己搜文件夹的场景也不太多

有时会需要拿目录限制一下重名笔记, 比如最近刚收集一篇 AI 文章, 可能需要在 Ob 的 “快速切换” 里搜 “clip + 模型” (clip 是目录名, 若不加目录限定会匹配到标题里带 “模型” 的噪音笔记)

所以这其实是 “关心笔记路径”, 也不能算是 “关心文件夹”


这个也许可以听听楼主的用法

我会建议使用「笔记文件夹」——
给重要的文件夹(常搜索的)创建一个与之对应的笔记,在搜索的时候直接搜笔记,跳转到对应的文件夹做后续操作:
image

如上图,这个 Daily 既是文件夹,又是它内部的 Daily.md 笔记。
通过 FolderNote 插件将两者直接绑定在一起,点击名称可以打开笔记,同时保留了它展开查看子文件夹的功能。

这个插件也提供了快速创建绑定关系的功能。

如果是查找FolderNote的话,我倒是有个脚本用于跳转FolderNote笔记的,因为我的folder note主要当做index,我要找笔记就主要找这个index再去导航的,如果是默认的快速切换就定位的不太准。

image

用的quickadd macro脚本格式写的,源码如下

quickadd macro脚本
module.exports = async () => {
    const quickAddApi = app.plugins.plugins.quickadd.api;
    let listFolderPaths = app.vault.getAllFolders().map(f => f.path);
    let listPaths = app.vault.getFiles();

    // 根据文件夹路径查找FolderNotes
    let folderNotes = listFolderPaths.flatMap(folderPath => {
        let folderName = folderPath.split('/').pop();
        return listPaths.filter(file => {
            return file.parent.path === folderPath && file.basename === folderName;
        });
    });

    const folderPaths = folderNotes.map(f => f.path);
    const folderNames = folderNotes.map(f => "📄" + f.basename + "." + f.extension + "\n📁" + f.parent.path);

    let inputFolderNote = await quickAddApi.suggester(folderNames, folderPaths);

    if (!inputFolderNote) return;
    
    const FolderNotePath = app.vault.getAbstractFileByPath(inputFolderNote);
    // app.workspace.getLeaf("tab").openFile(FolderNotePath); // 在新标签页打开
    app.workspace.getLeaf("").openFile(FolderNotePath); // 在当前标签页打开

};

1 个赞

直接quicker+everything得了