在Sublime Text中,我经常使用Cmd+P/Ctrl+P在文件之间搜索和跳转。

通常,它会选择临时或缓存的文件,如.scssc或/tmp文件夹中的东西。

是否有一种方法可以限制搜索结果中显示的内容?


在你的~/Library/Application Support/Sublime Text 2/Packages/User/Preferences中添加并编辑它。sublime-settings文件。

// These files will still show up in the side bar, but won't be included in
// Goto Anything or Find in Files
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],

你可以通过修改项目设置来排除某些文件模式和文件夹,如下所示:

{
    "folders":
    [
        {
            "path": "src",
            "folder_exclude_patterns": ["backup"]
        },
        {
            "path": "docs",
            "file_exclude_patterns": ["*.css"]
        }
    ]
}

这在项目文档中有描述。


在sublime text 3 (BLD 3059 Windows)中,我需要限制“在文件夹中查找”功能到某些文件/文件夹,也许是单个文件,

下面的方法对我有用 “where:”框的内容

/C/path/2/project/folder,*.c,*.h,-*/path/not/to/look/in,/C/path/2/specific/file/file.h

如果不使用绝对路径,可以将上述方法与以下符号位置结合使用

<打开文件夹>,<打开文件>,<当前文件>

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>

你也可以通过在Where字段中使用-*/foldername/*语法来排除Find All窗格中的文件夹-例如:

-*/node_modules/*

http://www.sublimetext.com/forum/viewtopic.php?f=2&t=3847&start=10


这个解决方案非常适合我:https://superuser.com/a/601270

Find: "something" Where: "<open folders>" // <open folders>" not include hidden folder in sidebar

对于Sublime Text 3:从搜索和GoTo结果中排除,而不从侧边栏删除,更改“binary_file_patterns”设置。匹配文件和文件夹。

例如,要从GoTo索引中排除“dist”和“node_modules”中的文件,将以下内容添加到用户设置文件中:

"binary_file_patterns": ["dist/*", "node_modules/*", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"]

我不知道如何在每个项目的基础上实现这一点:(。大多数设置都可以移动到项目中。sublime-project文件。“Project > Save Project As”,将其保存为项目的根目录,并添加“settings”:{…}到生成文件中的json。(从源代码,工作作为ST3构建3095)。但不能与“binary_file_patterns”一起工作。


对于那些几次你需要限制查找(和替换)到当前目录,这样做:

c/Path/2/Project,-c/Path/2/Project/*/*

重要的位是路径排除模式中的/*/*。在Windows 7 64位上使用Sublime Text 3 build 3083。


请注意,如果你想添加项目文件夹的子文件夹,你必须用\/连接文件夹。以@DavidPärsson为例:

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }

对于SublimeText 2,这对我来说非常有效。

当您选择在文件中查找时,在Where输入中指定排除文件夹;

-bower_components/**/*, -dist/**/*, -node_modules/**/*, -tmp/**/*

因此,一个连字符后跟一个排除模式,用于您不想在其中搜索的文件夹。

-folder1/**/*, -folder2/**/*

这将限制你的搜索范围。


你也可以通过Where字段从搜索中排除文件夹:

地点:< >打开文件夹,- * / node_modules / * . * - * /构建/ * . *

所以在上面的例子中:

我正在搜索所有打开的文件夹。 我排除了名为“node_modules”的文件夹,这是我的项目根目录下的顶级文件夹。 我排除了名为“构建”的文件夹,这是我的项目根目录下的顶级文件夹。

这适用于我在Sublime Text 3和文件夹继续显示在侧边栏。这是一个仅通过输入排除的搜索(不影响任何幕后索引)。


我认为这些答案中有许多跨越了几个不同版本的Sublime Text,以下是我如何在Mac上使用Sublime Text 3做到这一点。

打开Sublime Text > Preferences > Settings - User菜单 编辑file_exclude_patterns和folder_exclude_patterns值以忽略查找工具中的文件和/或文件夹

例子

"file_exclude_patterns":
[
    ".svn",
    ".git",
    ".hg",
    ".md",
    ".txt",
    ".DS_Store"
],
"folder_exclude_patterns":
[
    "node_modules",
    "bower_components",
    ".svn",
    ".git",
    ".hg",
    "CVS",
    "deprecated",
    "cache"
],

截图


我认为确保这些文件和文件夹在每个项目中被排除的最简单的方法是在Sublime用户设置中添加以下代码(在您的~/Library/Application Support/Sublime Text 2/Packages/User/Preferences中添加和编辑此代码)。sublime-settings文件。)

{
    // Remove certain files permanently from Sublime via Preferences.sublime-settings.
    "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]   
}

要点:https://gist.github.com/ahmadawais/690a816ca158067708ad4dbe17822841

或者你可以在这里查看我的偏好文件 https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81