【问题标题】:is there a way to highlight all the special accent characters in sublime text or any other text editor?有没有办法突出显示崇高文本或任何其他文本编辑器中的所有特殊重音字符?
【发布时间】:2012-12-08 04:48:40
【问题描述】:

我使用 HTML 编码 Sublime 文本中的特殊字符将所有特殊字符转换为它们的 HTML 代码。我在文件的不同部分有很多重音字符。所以,如果我可以选择所有特殊字符,然后使用插件一次转换,那就太好了!

是否有一个正则表达式可以帮助只选择所有特殊字符?

【问题讨论】:

    标签: encoding sublimetext2 html-encode htmlspecialchars


    【解决方案1】:

    是的。

    Sublime 文本支持正则表达式,您可以选择所有非 ASCII(代码点 > 128)字符。这个正则表达式对你来说应该足够了:

    [^\x00-\x7F]
    

    只需搜索和替换。

    但是,如果您一开始就进行手动 HTML 编码,那么您就做错了。将您的文件保存为 UTF-8 编码(默认为 Sublime Text 2),并确保您的 Web 服务器也以 UTF-8 格式发送这些文件。无需转换、编码或任何操作。

    【讨论】:

    • 但是,在编写 HTML 电子邮件时,通常不能选择使用 UTF-8,因为并非所有电子邮件客户端都支持它。在这些情况下,手动 HTML 编码是必要的。
    • @mtnorthrop:您能告诉我们 UTF-8 何时会导致问题吗?也就是说,我正在发送大量 HTML 电子邮件,我想知道我会遇到哪些问题。
    • 对此表示非常感谢...为了弄清楚这一点,我们已经尝试查看非 utf-8 数据文件数小时了
    【解决方案2】:

    作为进一步参考(或作为补充):

    名为 Highlighter 的 Sublime Text 2/3 包可以(正如他的名字所说)使用正则表达式突出显示某些字符...

    “您还可以为要突出显示的字符添加自定义正则表达式。”

    所以,有了这个包,加上@Mikko Ohtamaa的回答,我们就可以编辑文件了……

    highlighter.sublime-settings - User

    ...并包含建议的正则表达式(此处表示为 [^\\x00-\\x7F])以得到如下结果:

    {  
        "highlighter_regex": "(\t+ +)|( +\t+)|[^\\x00-\\x7F]|[\u2026\u2018\u2019\u201c\u201d\u2013\u2014]|[\t ]+$"  
    }
    

    结果将是我们文件中任何“非ASCII(代码点> 128)字符”自动突出显示

    请注意,这不会选择这些字符,只会突出显示它们以便您轻松实现。

    【讨论】:

      【解决方案3】:

      另一个插件选项

      我最近写了一个插件,专门用于突出显示非 ascii 字符: https://github.com/TuureKaunisto/highlight-dodgy-chars

      使用 Highlighter 可以实现完全相同的功能,但使用不太通用的 Highlight Dodgy Chars 插件,您无需编写正则表达式,只需在设置。欧洲特殊字符默认列入白名单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 1970-01-01
        • 1970-01-01
        • 2020-02-10
        • 2021-02-08
        相关资源
        最近更新 更多