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

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

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


当前回答

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

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

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

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

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

这将限制你的搜索范围。

其他回答

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

-*/node_modules/*

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

我认为确保这些文件和文件夹在每个项目中被排除的最简单的方法是在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

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

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

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

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

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

所以在上面的例子中:

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

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

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

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