例如,当我尝试使用以下命令查找和替换某些内容时
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]
。