![Vim에서 줄 바꿈하지 않는 공백에 대한 대체 문자 표시](https://linux55.com/image/83779/Vim%EC%97%90%EC%84%9C%20%EC%A4%84%20%EB%B0%94%EA%BF%88%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B3%B5%EB%B0%B1%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%8C%80%EC%B2%B4%20%EB%AC%B8%EC%9E%90%20%ED%91%9C%EC%8B%9C.png)
␣(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