Sublime text 3字符偏移突出显示数字范围

Cen*_*tAu 0 sublimetext sublimetext3 sublime-text-plugin

在崇高文本3中是否有方法/插件用于突出显示多个字符偏移范围?理想的期望功能将是这样的:给定一系列字符偏移(例如200-400,5000-5300,6400-6450)突出显示相应的范围.

Mat*_*DMo 5

这可以通过WindowCommand插件完成.转到Tools -> New Plugin...并使用以下内容替换内容:

import sublime
import sublime_plugin

class SelectRegionCommand(sublime_plugin.WindowCommand):
    def highlight_region(self, regions):
        region_list = []
        if "," in regions:
            for region in regions.split(","):
                region_list.append(tuple(region.split("-")))
        else:
            region_list.append(tuple(regions.split("-")))

        view = self.window.active_view()
        view.show(int(region_list[0][0]))

        for region in region_list:
            begin = int(region[0])
            end = int(region[1])
            to_highlight = sublime.Region(begin, end)
            view.sel().add(to_highlight)

    def run(self):
        message = "Enter offset range(s) to select, separated by commas:"
        default = "0-100"
        self.window.show_input_panel(message, default, self.highlight_region, None, None)
Run Code Online (Sandbox Code Playgroud)

将文件另存为Packages/User/select_region.py(它应该自动打开该目录),Packages通过选择打开的目录在哪里Preferences -> Browse Packages....

接下来,创建自定义键绑定以触发插件.打开Preferences -> Key Bindings-User并添加以下行:

{ "keys": ["ctrl+alt+shift+s"], "command": "select_region" }
Run Code Online (Sandbox Code Playgroud)

如果文件为空,请用方括号括住键绑定[ ].保存文件,你就完成了.点击CtrlAltShiftS将在窗口底部显示一个输入面板,您可以在其中输入字符偏移量.请不要包含任何空格,因此您的输入应如下所示:

点击Enter,您选择的区域将被选中:

编辑

我略微修改了代码,以便视图滚动到输入的第一个区域的开头(它应该在屏幕上居中).如果您由于某种原因不想要该功能,只需注释掉该view.show(int(region_list[0][0]))行(第14行).