有什么方法可以突出显示崇高文本或任何其他文本编辑器中的所有特殊重音字符?


76

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

是否有仅用于选择所有特殊字符的正则表达式?

Answers:


184

是。

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

[^\x00-\x7F]

只需搜索并替换。

但是,如果您首先要进行手动HTML编码,那么您做错了。将文件另存为UTF-8编码(默认为Sublime Text 2),并确保您的Web服务器还将这些文件作为UTF-8发送出去。无需转换,编码或任何其他操作。


1
但是,在对HTML电子邮件进行编码时,通常不能选择使用UTF-8,因为并非所有电子邮件客户端均支持该功能。在这些情况下,必须进行手动HTML编码。
mtnorthrop

@mtnorthrop:请问什么时候UTF-8引起问题?也就是说,我正在发送大量HTML电子邮件,我想知道我会遇到哪种问题。
Mikko Ohtamaa 2013年

不知道怎么感谢你才好这个......在非UTF-8的数据文件一直在试图寻找几个小时试图弄清楚这一点
马特·金

15

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

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

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

因此,有了这个软件包,加上@Mikko Ohtamaa答案,我们可以编辑文件...

highlighter.sublime-settings - User

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

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

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

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


7

另一个插件选项

我最近写了一个插件来专门突出非ASCII字符:https : //github.com/TuureKaunisto/highlight-dodgy-chars

使用Highlighter可以实现完全相同的功能,但是使用不太通用的Highlight Dodgy Chars插件,您无需编写正则表达式,只需列出您不想在设置中突出显示的非ascii字符即可。默认情况下,欧洲特殊字符被列入白名单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.