color
选项结合使用?该Nanorc文档描述颜色选项,用于创建语法高亮显示。
颜色 fgcolor,bgcolor 正则表达式
对于当前定义的语法,显示前景色为 fgcolor 和背景色为 bgcolor 的与扩展正则表达式正则表达式匹配的所有表达式,必须至少指定其中之一...
如果可以使用捕获组,使用以下正则表达式将允许我修复 nano.bashrc 语法突出显示文件中的一个恼人的错误,该错误会错误地突出显示注释,如下所示:
新的(工作)正则表达式是这样的:
{[^}]*}|\[[^\]]*\]|(#.*$)
它匹配(包括)大括号之间的所有内容,或(包括)方括号之间的所有内容,最后匹配#
任何次数的符号,直到行尾。仍在研究如何不匹配 # 如果前面有美元符号。
你可以在这里看到它的工作演示:https : //regexr.com/3tdqf
通过使用第一个捕获组作为颜色突出显示的过滤器,我希望能够仅突出显示实际评论!
是否可以?
编辑:我注意到可以根据文档提供用于颜色突出显示的开始模式和结束模式:
颜色 fgcolor,bgcolor start="sr" end="er"
显示以扩展正则表达式 sr 开头并以扩展正则表达式 er 结尾的表达式,前景色为 fgcolor,背景色为 bgcolor,必须至少指定其中之一。这允许语法突出显示跨越多行。请注意,在找到初始 sr 之后的所有后续 sr 实例都将突出显示,直到 er 的第一个实例。
也许这可以帮助解决我们的困境:S
我遇到了这个问题,因为我正在寻找如何使用 Nano 来突出显示 C 中的函数。 正如上面的评论中提到的,Nano 使用 POSIX 扩展正则表达式 (ERE),而 ERE 没有前瞻或后视。解决方法依赖于 nanorc 颜色语法规则从上到下按顺序应用的事实。我们创建规则来捕获整个组,然后再深入;我们创建规则来改变我们不想要的字符的颜色。
## Comment
color green "#[#a-zA-Z0-9[:blank:]]*"
## Quoted text
color yellow "\"[^\"]*\""
## Allow commenting out a line of code
color green "^[[:blank:]]*#.*$"
## Braces
color blue "\{.*\}"
## Brackets
color blue "\[.*\]"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句