如何让Vim突出显示非ascii字符?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

我想让Vim突出显示非ASCII字符。是否有可用的设置、regex搜索模式或插件可以这样做?

提问于
用户回答回答于

[]在搜索的字符类中使用范围,你应该能够排除 ASCII十六进制字符范围,因此突出显示(假设你已hlsearch启用)位于ASCII范围之外的所有其他字符:

/[^\x00-\x7F]

这将对ASCII 和ASCII (0-127)之间的字符进行否定匹配(通过),并且似乎适用于我的简单测试。当然,对于扩展ASCII,将范围扩展到不使用。[^]0x000x7F\xFF\x7F/[^\x00-\xFF]

你也可以用十进制表示它\d

/[^\d0-\d127]

如果你需要更具体的内容,例如排除不可输出的字符,则需要将这些范围添加到字符类中[]

用户回答回答于

是的,对于任何匹配的字符串,都有一个本机特性要做突出显示。在Vim里面,做:

:help highlight
:help syn-match

syn-match定义与Fall匹配的字符串。highlight定义组使用的颜色。只需考虑一下vimrc文件的语法高亮显示。

因此,你可以在.vimrc文件中使用以下命令:

syntax match nonascii "[^\x00-\x7F]"
highlight nonascii guibg=Red ctermbg=2

扫码关注云+社区