我知道sublime文本将源代码分类到不同的范围。特别用于语法高亮。 (您可以使用Ctrl + Alt + Shift P或各种插件显示当前范围)
但是你也可以搜索/在一个范围内吗?
答案 0 :(得分:2)
不幸的是,ST2或ST3内置的功能不允许将搜索限制在特定范围内。如果您了解Python,使用functions sublime.View.find()
和sublime.View.find_all()
编写插件应该不会太难,通过sublime.View.scope_name()
过滤结果,尽管您需要将Region
返回的find()
折叠为单个点,以便传递给scope_name()
。
如果您不是插件编写类型,则可能需要查看ScopeHunter
和/或ScopeAlways
插件,这些插件可通过Package Control获得。我将ScopeHunter功能绑定到弹出具有当前范围的面板的组合键:
[
// ScopeHunter
{ "keys": ["ctrl+alt+shift+s"], "command": "get_selection_scope" }
]
键盘密集度稍低的方法是使用ScopeAlways,它在状态栏中显示当前范围:
通过这种方式,您可以浏览查找结果并立即查看它们属于哪个范围。要进行设置,一旦从Package Control安装了插件,请打开Preferences -> Package Settings -> ScopeAlways -> Settings - User
并添加以下内容,以便在Sublime启动时启动它:
{
"start_on": true
}
保存文件,重新启动Sublime,享受所有范围的好处。