Vim에서 줄바꿈 없는 공백에 대한 대체 문자 표시

Vim에서 줄바꿈 없는 공백에 대한 대체 문자 표시

예를 들어 ␣(U+2423)와 같은 대체 유니코드 문자를 사용하여 구분 없음 공백(U+00A0)과 좁은 구분 없음 공백(U+202F)을 구별할 수 있도록 Vim에 비표준 공백을 표시하고 싶습니다. 및 ⸤(U+2E24)입니다.

조사한 후, 내가 할 수 있는 최선의 방법은 다음을 사용하여 두 가지 중단 없는 공백 유형 모두에 대해 동일한 대체 문자를 표시하는 것이었습니다.

:set list
:set listchars=tab:▸\ ,eol:¬,trail:\ ,nbsp:␣

따라서 listchars nbsp 매개변수는 표준 및 좁은 중단 없는 공간을 구분하지 않습니다(그리고 제대로 작동하려면 trail 매개변수도 필요합니다).

이에 대한 해결 방법이 있습니까?

답변1

구문 일치 및 다음을 사용할 수 있습니다 conceal.

set conceallevel=1
syn match NBSP '\%xa0' conceal cchar=␣
syn match NarrowNBSP '\%u202F' conceal cchar=⸤

효과:

여기에 이미지 설명을 입력하세요

을 사용할 수도 있습니다 set conceallevel=2.

conceal커서가 있는 줄에는 대체 항목이 표시되지 않습니다. 에 대한, 그 세트concealcursor:

set concealcursor=n

관련 정보