sublimetext3 - 在 Sublime Text 4 中选择或突出显示单词类型或颜色的所有实例

标签 sublimetext3 sublimetext sublimetext4

注意:我并不想选择单个单词的所有实例。

我找不到一种方法来选择单词类型的所有实例,类似地,不同的单词根据您拥有的文件类型的格式规则着色。

这是 SQL 文件的一些示例代码的图像。

Sample code of SQL file in Sublime Text 4

例如,我想突出显示整个文件中这种红粉色或淡蓝色单词的所有实例。这样我就可以将它们大写或者复制它们或者你有什么。

最佳答案

从“工具”菜单 -> 开发人员 -> 新插件...

将模板替换为以下内容:

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(文件名并不重要,但扩展名很重要)。

然后,在您的用户键绑定(bind)中,您可以添加类似以下内容:

{ "keys": ["alt+;"], "command": "select_by_scope_selector", "args": { "last_scope_only": true, "auto_select": true } },

然后,在 SELECT 中的某处按 Alt+; 并选择插入符号,它将自动选择缓冲区中具有相同范围的所有其他单词,例如 DELETE UPDATEINSERT 等。或者在 INT 上,它可以选择所有 INT >CHAR

您可能会注意到,您在问题中提到的“类型”在 ST 术语中称为范围。请注意,颜色不一定与范围具有一对一的映射,具体取决于您的配色方案,因此它可能会选择比您预期更多或更少的内容。

您可以尝试使用键绑定(bind),例如删除所有参数,以查看它的效果并自定义正在搜索的范围。如果您更喜欢的话,您还可以将其添加到菜单或命令面板中。我建议阅读ST docs了解更多信息。

关于sublimetext3 - 在 Sublime Text 4 中选择或突出显示单词类型或颜色的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69307023/

相关文章:

sublimetext - Sublime Text 3 可以支持特定于项目的片段吗?

editor - 如何在Sublime Text中更改选项卡名称?

sublimetext - 如何在 Sublime Text 中显示或跟踪键盘快捷键映射到的命令?

sublimetext3 - 在 Sublime Text 窗口的两列中显示相同的文件

r - Sublime Text 显示 R 本地管道 |> 连字与 Fira 代码

sublimetext3 - 如何删除 Sublime Linter 中的弹出警告?

regex - Sublime Text 3 使用的正则表达式类型?

settings - 如何在 sublime text 4 (windows) 中显示菜单栏

sublimetext2 - 删除 Sublime Text 2 和 3 中的项目

node.js - Sublime Text 3 和 sublime-grunt-build