regex - vim 语法匹配错误([A-Z] 匹配所有字母字符)

标签 regex vim syntax

我有一个 .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:]]正确搜索仅选择大写字符。运行ls | grep "[A-Z]"在 bash 中仅突出显示带有大写字符的文件。

最佳答案

我的下一个最佳猜测(在ignorecase之后)将是语法突出显示脚本本身的配置错误:

有些语言不区分大小写,例如 Pascal。其他的,比如C, 区分大小写。您需要通过以下方式判断您的类型 命令:

:syntax case match
:syntax case ignore

你能尝试一下当你专门添加 :syntax case match 到混合中时会发生什么(或者找出虚假的 ignore 的来源)吗?

关于regex - vim 语法匹配错误([A-Z] 匹配所有字母字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548662/

相关文章:

python - 为什么最小(非贪婪)匹配会受到字符串结尾字符 '$' 的影响?

regex - 如何使用Regex搜索不以另一个字符串开头的字符串

vim - 如何迭代 vim 脚本中的寄存器?

haskell - 运行程序时出错

C# Lambda 表达式语法 : are brackets necessary?

java - 使用 Java 从字符串中提取任意 5 位数字

java - 考虑捕获组中的空白

android - 如何为 Android 开发设置 Vim?

vim - vim 中特定于键的 timeoutlen

ms-access - 缩短 Access 中的对象路径名称