我有一个.vimrc文件,其中包含以下行:
syntax match proper /\s[A-Z][a-zA-Z]*/
理论上,它应该匹配任何以空格为前缀并以大写字母开头的字母字符集。当我在Ubuntu 11.11上使用vim 7.3运行它时,它应该正常工作。但是,当我将.vimrc发送到在CentOS 5.6上运行vim 7.0的服务器时,它匹配以空格为前缀的所有单词,而不仅仅是以大写字母开头的单词。
我一直在寻找几个小时来解决这个问题,但我很困惑。我尝试了[[:upper:]]
而不是[A-Z]
,但它得出了相同的结果。使用/[A-Z]
和/[[:upper:]]
正确搜索仅选择大写字符。在bash中运行ls | grep "[A-Z]"
只会突出显示带有大写字符的文件。
答案 0 :(得分:4)
我的下一个最佳猜测(在ignorecase之后)将是语法高亮脚本本身配置中的错误:
某些语言不区分大小写,例如Pascal。其他人,如C,是 区分大小写。您需要通过以下方式告诉您具有哪种类型 命令:
:syntax case match
:syntax case ignore
您是否可以尝试将:syntax case match
专门添加到混音(或虚假ignore
来自的地方)时会发生什么?
答案 1 :(得分:1)
您是否意外启用了ignorecase
?你对/\s\C[A-Z]\c[A-Z]*/
有什么看法?