Sublimetext2 你能在崇高的文本中突出显示一个字符在一定长度之后吗?

Sublimetext2 你能在崇高的文本中突出显示一个字符在一定长度之后吗?,sublimetext2,sublimetext3,sublimetext,sublime-text-plugin,Sublimetext2,Sublimetext3,Sublimetext,Sublime Text Plugin,在VIM中,仅当行超过一定长度时,才可以高亮显示字符,例如: 这可以在崇高的文本2或3中完成吗?我知道有一个显示标尺的设置,但我发现它们有时会让人分心。您可以扩展(复制重命名并使用)语法高亮显示,并添加一个带有此特定大小写的规则 您可以添加类似以下内容的正则表达式: <key>charAt</key> <dict> <key>patterns</key> <array>

在VIM中,仅当行超过一定长度时,才可以高亮显示字符,例如:

这可以在崇高的文本2或3中完成吗?我知道有一个显示标尺的设置,但我发现它们有时会让人分心。

您可以扩展(复制重命名并使用)语法高亮显示,并添加一个带有此特定大小写的规则

您可以添加类似以下内容的正则表达式:

    <key>charAt</key>
    <dict>
        <key>patterns</key>
        <array>
            <dict>
                <key>match</key>
                <string>(?<=^.{21})(.)</string>
                <key>name</key>
                <string>invalid.illegal.bad-comments-or-CDATA.html</string>
            </dict>
        </array>
    </dict>
charAt
模式
比赛
(?
javiervd

这可以在崇高的文本2或3中完成吗



保存以下脚本@:
/Packages/Highlight Long line/Highlight_Long_line.py

导入升华,升华插件
类高亮显示\u长\u行(sublime\u plugin.EventListener):
修改的异步上的def(自,视图):
#▒▒▒▒▒▒▒▒  设置▒▒▒▒▒▒▒▒#
最大长度=80
scope=“无效”
firstCharacter_Only=False
查看。删除_区域(“长线”)
indentationSize=view.settings().get(“制表符大小”)
缩进\u IsSpace=view.settings().get(“将\u选项卡\u转换为\u空格”)
document=sublime.Region(0,view.size())
lineRegions=视图.行(文档)
无效区域=[]
对于lineRegions中的区域:
text=view.substr(区域)
text_without tabs=text.expandtabs(缩进大小)
如果文本不带Tabs.isspace():
tabOffset=0
其他:
tabCount=text.count(“”)
tabDifference=len(不带制表符的文本)-len(文本)
tabOffset=tabDifference
lineLength=(region.end()-region.begin())-tabOffset
如果lineLength>maxLength:
highlightStart=region.begin()+(maxLength-tabOffset)
如果firstCharacter_Only==True:
高亮度=高亮度启动+1
其他:
highlighted=region.end()
invalidRegion=崇高区域(高亮开始,高亮显示)
invalidRegions.append(invalidRegion)
如果len(无效区域)>0:
视图。添加区域(“长线”、无效区域、范围)


可变设置:
maxLength
影响行将在之后高亮显示的长度

范围
影响突出显示区域的颜色。
您可以使用活动
.tmTheme
文件(颜色方案)中的任何范围

firstCharacter\u仅影响高亮显示区域的范围。
如果设置为
True
,则仅突出显示第81位的字符。

如果设置为
False
,则第80个位置之后的所有字符都将高亮显示。

您可以只搜索此正则表达式:

(?<=.{80}).+

(?这是一个非常不可靠的错误选项,原因很多。最具体地说,它可以防止任何其他突出显示。这很好,有没有办法使它只突出显示该列中的字符?@javiervd:查看更新的答案。我刚刚添加了一个
firstCharacter\u Only
设置,以及一些制表符验证要确保它同时适用于空格和制表符缩进。如果在行文本开始后使用一组制表符,区域计算可能会中断,但在大多数情况下,它应该可以正常工作。