VIM中的字符类

时间:2016-02-07 06:00:05

标签: regex vim

在vim中使用正则表达式时我有一个问题。

使用字符类时,如果设置'a-y'搜索范围,则不区分大小写。

但是如果设置'a-z'搜索范围,则区分大小写。

我认为原因是'z'。 但我不知道。为什么呢?

enter image description here

enter image description here

我在Win8.1上使用gVim 7.4。

enter image description here

[a-z]的字符'z'是小写'z'

enter image description here

设置'a-Z'搜索范围,区分大小写。 但设置'a-Y'搜索范围,奇怪的是'错误范围'错误发生。

以下图片是有关编码和配置的说明。

enter image description here

enter image description here

谢谢大家。:)

1 个答案:

答案 0 :(得分:1)

最直接的答案是,在一次搜索中,区分大小写是开启的,而在另一次搜索中,则不是。请参阅:help 'ignorecase

如果不是这样,那么我可以重现这一点的唯一方法是使用看起来像ASCII z的字符,但实际上是一个完全不同的字符。在类似ASCII z的字符中,我能找到的唯一能够重现此行为的字符是U + 0396 Greek Capital Letter Zeta:Ζ

enter image description here

enter image description here

即使这个理论有点摇摇欲坠,因为这个角色看起来像一个大写Z,而不是小写z - 至少在我的屏幕上。

很难确定只有上面的屏幕截图和您的描述才会出现这个问题。有关您输入搜索字符的确切方式,使用的编码,键盘布局等等的问题中的更多信息可能有助于某人撰写比此更好的答案。