일부 POSIX 대괄호 표현식이 작동하지 않습니다.

일부 POSIX 대괄호 표현식이 작동하지 않습니다.

예를 들어, 다음을 사용하여 무언가를 찾아 바꾸려고 할 때

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

Vim은 오류를 표시합니다: Pattern not found: [:digit:]문자열에 숫자가 포함되어 있습니다.

다음 POSIX 대괄호 표현식은 작동하지 않습니다: [:digit:], [:xdigit:], [:upper:], [:lower:], [:print:], [:cntrl:]

한편, 다른 모든 POSIX 대괄호 표현식(예: [:alnum:], [:alpha:], [:blank:] 등)은 정상적으로 작동합니다.

빔 버전 7.4

답변1

대괄호 [:foo:]표현은 다음을 의미합니다.[...] 컬렉션에 사용됨, 이와 같이:

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

이를 통해 다른 문자와 혼합된 여러(선택 사항, 그렇지 않으면 연결됨) 그룹을 지정할 수 있습니다(예: ) [[:space:][:digit:]abc].

관련 정보