【问题标题】:Sublime Text go to character numberSublime Text 转到字符编号
【发布时间】:2017-02-12 14:37:36
【问题描述】:

如何转到文件中的第 N 个字符。忽略所有换行符,整个文件中的第 N 个字符。

类似于this vim command,但在崇高的文本中

【问题讨论】:

    标签: sublimetext3 sublimetext


    【解决方案1】:

    打开Goto AnythingGoto Line(如果您不使用键盘快捷键,可从转到菜单访问)。

    键入::N,其中 N 是您要转到的文件中的第 N 个字符。 即在数字前加 2 个冒号。

    (Goto Line 将预填充一个:,因此您只需再输入一个。或者,您可以创建一个键绑定来执行命令show_overlay,使用以下args,预填充2个冒号:{"overlay": "goto", "text": "::"} )


    或者,使用“查找”面板搜索以下正则表达式:

    \A[\s\S]{N-1}\K
    

    N-1 替换为所需的字符数减1。

    • \A 文件开头的锚点
    • [\s\S] 任何空白或非空白字符
    • {N} 匹配前一个字符类 N 次,即 {99} 次,因此您最终会在第 100 个字符的左侧找到插入符号
    • \K 清除到目前为止匹配的内容

    【讨论】:

    • 请注意,正则表达式替代方案也适用于 Sublime Text 2(第一个解决方案似乎没有)。
    • 我怀疑 Goto Anything 支持早在 2014 年 10 月的版本 3066 就一直添加到 ST3。当然,ST2 自 2013 年以来就没有更新过。
    • 请注意,第一个解决方案跳转到 character 位置,而不是字节偏移。例如,Sublime 将 Windows 行以 \r\n 结尾的行视为一个字符,但编译器可能不会。您可以减去最终的行号并再次执行跳转,但如果您的文本/代码中有任何其他多字节字符(如 UTF-8 中的非 ASCII 字符),则将不准确。跨度>
    • 这非常有帮助。必须在 JSON 文件的字符 73316 处发现解码错误。
    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2023-04-08
    相关资源
    最近更新 更多