vim에서 숨겨진 문자를 표시하는 방법?


54

탭이나 공백과 같은 숨겨진 문자 만 표시되도록 vim을 구성하려면 어떻게해야합니까? 파일을 작성할 때 탭 및 / 또는 공백을 ">"또는 "_"와 같은 특수 문자로 바꾸고 싶지 않습니다.


1
보여줄 공간이 꼭 필요합니까? 일반적인 해결책은를 사용하는 것 :set list입니다. 공백을 제외한 모든 것을 얻을 수 있습니다 .
크리스 하퍼

답변:


64

당신은 명령을 사용할 수 있습니다

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

공백이 아닌 모든 문자를 표시합니다. 따라서 공백은 표시되지 않는 유일한 것입니다.

반드시 공백을 표시해야하는 경우 덜 멋진 것을 시도해야합니다. 같은 것

:%s/ /█/g

모든 공백을 블록 문자로 바꿉니다. 그런 다음 쓰기 전에 실행 취소해야합니다. 당신은 당신의 쓰기 명령을 다시 매핑 할 수 있습니다

cmap :w :%s/█/ /g<CR>:w

그냥 제안입니다. 나는 그것을 시도하지 않았다.


도와 주셔서 감사합니다; 당신의 제안은 아주 잘 작동합니다. 그러나 특정 파일을 열 때 "> ---"(표시 탭)이 나타납니다. 입력하는 동안 탭 문자 표시되도록하는 방법이 있습니까?
dan0

@ dan0 삽입 모드에서만 의미합니까? 모르겠어요 나는 그것을 의심한다. 삽입 모드로 들어갈 때 먼저 :set listchars명령을 호출하고 아무것도 설정하지 않은 다음 삽입 모드를 떠날 때 다시 호출 하도록 일부 맵핑 기능을 작성할 수 있습니다. 그러나 나는 그것을 할지도에 대해 충분하지 않습니다.
Kris Harper

@JonathanKomar "set nolist"
Vladislavs Dovgalecs

1
사용 space:␣나를 위해 잘 작동합니다 : :set listchars=eol:$,tab:>-,trail:~,space:␣
loxaxs

15

vim의 최신 버전도 공백을 표시 할 수 있습니다. (vim 7.4.1689에서 확인).

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»

4

제 경우에는 nbsp 와 싸워야했습니다 .

:set listchars=nbsp:☠,tab:▸␣
:set list

☠ 대신 ␣를 사용할 수도 있습니다

위의 vim 설정이 "보이지 않는 이상한"공백을 강조 표시하고 탭을 강조 표시 하는 예입니다 (후행 공백 vim 플러그인을 사용하고 있기 때문에 빨간색)

이리

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.