在sublime文本中按相对路径查找文件3

时间:2018-04-18 19:12:05

标签: python sublimetext3

我正在尝试使用Sublime Text作为我的新编辑器,我遇到了一个意想不到的问题。我正在使用一个项目(Django Web应用程序),它有许多同名文件,位于不同的目录中。所以,我会有app1 / models.py,app2 / models.py ... app15 / models.py等。所以,如果我只是点击Cmd-P并输入models.py我得到一个相当大的列表,我必须滚动通过获取我想要的文件。在Vim中,我只需输入:e a,点击TAB即可完成路径,然后在我找到合适的应用后,再次点击mo点击标签,我就在那里。我如何在Sublime中做类似的事情?

1 个答案:

答案 0 :(得分:2)

PackageControl上可能有一个包会提供这种行为,但是Sublime没有直接开箱即用。

既然你已经提到你是Sublime的新手,你可能没有意识到你正在使用的面板可能比你想象的更强大和有用。

特别是,您不必在框中键入完整的文件名或路径,而是可以键入文件名的片段,以便过滤列表。

例如,此代码库中大约有4,000个文件,我想从文件夹Reader.h打开名为DevSrc/RegionalCenter/TSE/的文件。正如您所注意到的,您可以使用名称过滤列表;我在这说:

Example 1

可悲的是,事实证明我想要的文件恰好是列表中的最后一个,这需要一些滚动才能找到正确的文件。

在这种情况下,我知道我想要TSE文件夹中的文件,所以我可以在我想要的文件名之前输入该部分路径片段,这会限制列表并带来我想要的文件在右上角蝙蝠:

Example 2

如果您在显示的面板中检查结果,则可以看到匹配中的某些文本突出显示,告诉您如何应用匹配。

这表明您实际上根本不必输入完整的文件名;只要任何文本都可以工作,最好的匹配就会跳到顶部。因此,我可以更轻松地在Reader.h文件夹或SIAC文件夹中轻松找到TSE

Example 3

此处需要注意的是,除了Sublime用于确定哪些文件匹配的所有内部标准外,还会考虑您之前的选择。

在这种情况下,当我输入tread时,Reader.h文件会跳到顶部;如果我真的想要Reader.m文件,我可以在文本中添加m来选择它。

另一方面,如果我向下箭头并按 Enter 选择文件,下次使用相同的文本执行相同的搜索时,Reader.m会跳转到列表的顶部,因为当我输入tread时,我告诉Sublime我想要的文件。

如第二个示例所示,您可以输入多个空格分隔的术语并使它们匹配(例如tse reader.h)。如果您至少使用Sublime build 3154(目前需要您成为许可用户,因为它是开发版本),则面板中的术语可以按任何顺序排列并且仍然匹配。

这意味着我可以输入reader.h来获取我想要的列表,然后输入tse秒以提供更多过滤,这甚至更快,并且在开始之前不需要您知道完整的道路是什么。

这只是刮到了Goto Anything面板的力量表面;例如,可以尝试使用搜索字词models.py@models.py#models.py:10

有关详细信息,请查看unofficial documentation上的file navigation in Sublime