Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 在文件中搜索特定范围内的文本?(崇高)_Search_Scope_Editor_Sublimetext - Fatal编程技术网

Search 在文件中搜索特定范围内的文本?(崇高)

Search 在文件中搜索特定范围内的文本?(崇高),search,scope,editor,sublimetext,Search,Scope,Editor,Sublimetext,我知道sublime文本将源代码划分为不同的范围。特别用于语法突出显示。 (您可以使用Ctrl+Alt+Shift P或多种插件显示当前作用域) 但是您也可以在一个范围内搜索吗?不幸的是,ST2或ST3中没有内置的功能,允许将搜索限制在特定范围内。如果您了解Python,那么使用sublime.View.find()和sublime.View.find\u all(),通过sublime.View.scope\u name()过滤结果,编写插件应该不会太难,尽管您需要折叠find()返回的区域到

我知道sublime文本将源代码划分为不同的范围。特别用于语法突出显示。 (您可以使用Ctrl+Alt+Shift P或多种插件显示当前作用域)


但是您也可以在一个范围内搜索吗?

不幸的是,ST2或ST3中没有内置的功能,允许将搜索限制在特定范围内。如果您了解Python,那么使用
sublime.View.find()
sublime.View.find\u all()
,通过
sublime.View.scope\u name()
过滤结果,编写插件应该不会太难,尽管您需要折叠
find()返回的
区域
到一个点,用于传递到
范围\名称()

如果您不是插件编写类型,您可能希望通过查看和/或插件。我将ScopeHunter功能绑定到一个组合键,该组合键弹出一个包含当前作用域的面板:

[
//范围搜寻者
{“键”:[“ctrl+alt+shift+s”],“命令”:“获取选择范围”}
]
键盘强度稍低的方法是使用ScopeAlways,它在状态栏中显示当前范围:

通过这种方式,您可以浏览“查找结果”,并立即查看它们所属的范围。要进行设置,从Package Control安装插件后,打开
Preferences->Package Settings->ScopeAlways->Settings-User
,添加以下内容,以便在Sublime启动时启动该插件:

{
“启动”:真
}

保存文件,重新启动Sublime,然后享受所有的功能。

谢谢您的建议!