一些 POSIX 括号表达式不起作用

一些 POSIX 括号表达式不起作用

例如,当我尝试使用以下命令查找和替换某些内容时

g/[:digit:]/s/1/2/g

Vim 显示 error: Pattern not found: [:digit:],而字符串包含数字。

以下 POSIX 括号表达式不起作用:[:digit:]、[:xdigit:]、[:upper:]、[:lower:]、[:print:]、[:cntrl:]

同时,所有其他 POSIX 括号表达式(如 [:alnum:]、[:alpha:]、[:blank:] 等)都工作得很好。

Vim 版本 7.4

答案1

括号[:foo:]表达式的意思是在[...]集合中使用, 像这样:

:g/[[:digit:]]/s/1/2/g

这允许您指定多个(可选;否则将是串联)组,并与其他字符混合,例如:[[:space:][:digit:]abc]

相关内容