注意:我不是要选择单个单词的所有实例。
我找不到选择单词类型的所有实例的方法,类似地,根据您拥有的文件类型的格式规则如何为不同的单词着色。
这是 SQL 文件的一些示例代码的图像。
例如,我想在整个文件中突出显示这种红粉色或淡蓝色单词的所有实例。这样我就可以将它们大写或复制它们或你有什么。
注意:我不是要选择单个单词的所有实例。
我找不到选择单词类型的所有实例的方法,类似地,根据您拥有的文件类型的格式规则如何为不同的单词着色。
这是 SQL 文件的一些示例代码的图像。
例如,我想在整个文件中突出显示这种红粉色或淡蓝色单词的所有实例。这样我就可以将它们大写或复制它们或你有什么。
从工具菜单 -> 开发人员 -> 新插件...
将模板替换为以下内容:
import sublime
import sublime_plugin
class SelectByScopeSelectorCommand(sublime_plugin.TextCommand):
def run(self, edit, scope_selector=None, last_scope_only=True, auto_select=False):
if not scope_selector:
scope_at_first_caret = self.view.scope_name(self.view.sel()[0].a)
if last_scope_only:
scope_at_first_caret = scope_at_first_caret.split()[-1]
if auto_select:
scope_selector = scope_at_first_caret
else:
self.view.window().show_input_panel('Scope Selector', scope_at_first_caret, lambda value: self.view.run_command('select_by_scope_selector', { 'scope_selector': value }), None, None)
return
regions = self.view.find_by_selector(scope_selector)
if regions:
self.view.sel().clear()
self.view.sel().add_all(regions)
self.view.show_at_center(self.view.sel()[0])
else:
self.view.window().status_message('Unable to find anything matching selector "' + scope_selector + '"')
将其保存在 ST 推荐的文件夹中,类似于select_by_selector.py
(文件名无关紧要,但扩展名很重要)。
然后,在您的用户键绑定中,您可以添加如下内容:
{ "keys": ["alt+;"], "command": "select_by_scope_selector", "args": { "last_scope_only": true, "auto_select": true } },
然后,Alt+;在 中的某处按下选择插入符SELECT
,它将自动选择缓冲区中具有相同范围的所有其他单词,例如DELETE
,UPDATE
等INSERT
。或者在 上INT
,它可以选择所有INT
等CHAR
。
您可能会注意到您在问题中提到的“类型”在 ST 用语中称为范围。请注意,颜色不一定具有与范围的一对一映射,具体取决于您的配色方案,因此它可能会选择比您预期的更多或更少。
例如,您可以通过删除所有参数来使用键绑定,以查看它有什么效果并自定义正在搜索的范围。如果您更喜欢,您也可以将其添加到菜单或命令面板中。我建议阅读ST 文档以获取更多信息。