在vim中使用正则表达式时我有一个问题。
使用字符类时,如果设置'a-y'搜索范围,则不区分大小写。
但是如果设置'a-z'搜索范围,则区分大小写。
我认为原因是'z'。 但我不知道。为什么呢?
我在Win8.1上使用gVim 7.4。
[a-z]的字符'z'是小写'z'
设置'a-Z'搜索范围,区分大小写。 但设置'a-Y'搜索范围,奇怪的是'错误范围'错误发生。
以下图片是有关编码和配置的说明。
谢谢大家。:)
答案 0 :(得分:1)
最直接的答案是,在一次搜索中,区分大小写是开启的,而在另一次搜索中,则不是。请参阅:help 'ignorecase
。
如果不是这样,那么我可以重现这一点的唯一方法是使用看起来像ASCII z
的字符,但实际上是一个完全不同的字符。在类似ASCII z
的字符中,我能找到的唯一能够重现此行为的字符是U + 0396 Greek Capital Letter Zeta:Ζ
。
即使这个理论有点摇摇欲坠,因为这个角色看起来像一个大写Z
,而不是小写z
- 至少在我的屏幕上。
很难确定只有上面的屏幕截图和您的描述才会出现这个问题。有关您输入搜索字符的确切方式,使用的编码,键盘布局等等的问题中的更多信息可能有助于某人撰写比此更好的答案。