vi syntax에서 따옴표 묶음만 강조하는 법..?

gene1311의 이미지

안녕하세요

vi쓰면서 syntax 설정에 syn region statements start='"' end='"'
이렇게 해서 따옴표 부분만 구문만들어서 쓰고있는데요
이렇게하면 문제가 따옴표 하나만 들어가 있는 문장이 나오면 그 아래 줄로 쭉~ 강조가 들어가요

한줄에 따옴표 한개만 있으면 강조 안하게 하는 법이 있을까요?
아직 프로그래밍 허접이라 어떻게 설정할 지 모르겠네요ㅠ

raymundo의 이미지

잘은 모르지만 start와 end에 정규식이 되는 것 같길래 몇 가지 해봤는데요,

syn region String start='"' end='"\|\n'

이러면, 종료 태그가 "따옴표 또는 줄바꿈"이니까, 한 줄에 따옴표 하나만 들어가 있으면 거기서부터 줄 끝까지만 강조가 되고 다음 줄로는 안 넘어갑니다.

syn region String start='"\(.*"\)\@=' end='"'

이 경우는 따옴표가 나와도 뒤에 또 다른 따옴표가 있을 때만 시작 태그로 인식하기 때문에, 따옴표가 하나만 있으면 아예 무시합니다.

두 가지 다 정교한 처리(백슬래시+따옴표는 스킵한다든가...)는 못 하지만, 간단한 텍스트 작성시에는 무난할 것 같은데요.

좋은 하루 되세요!

gene1311의 이미지

정말 감사합니다!