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

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

␣(U+2423)와 같은 유니코드 문자를 각각 +2E24)로 바꿔서 잘림 방지 공백(U+00A0)과 좁은 잘림 방지 공백(U+202F)을 구별하기 위해 Vim에서 비표준 공백을 표시하고 싶습니다. .

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

: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

관련 정보