vim, 탭이나 개행문자를 보고싶어요.
list mode
List mode: Show tabs as CTRL-I is displayed, display $ after end of line.
즉, list mode로 들어가면, 탭문자와 줄바꿈 문자가 화면에 표시되게 됩니다. 그리고 list mode는 다음 명령으로 들어갈 수 있습니다.
:set list
'listchars'
list 모드에서, 탭 문자나, 개행문자를 '→' '↵' 와 같은 문자로... 나타나게 할 수 있습니다.(인코딩이 UTF-8인 경우, UTF-8 문자도 사용 가능.)
그리고 탭문자나 개행문자 이외에도 다음과 같은 문자들을 지원합니다.
eol:c | 개행문자 'c'로 표시 |
tab:xy | 탭문자 첫 글자는 'x'로 이후는 탭 너비에 따라 하나 이상의 'y'를 표시 |
trail:c | 구문이 끝난뒤 들어간 불필요한 공백문자를 'c'로 표시 |
extends:c | vim이 'nowrap' 상태에서 화면을 뚫고 넘어간 문장이 있는 라인 오른쪽에 'c'표시 |
precedes:c | 마찬가지로 'nowrap' 상태에서 오른쪽으로 길게 편잡중일때 화면에 가려진 왼쪽 영역에 'c'를 표시 |
conceal:c | 'conceallevel'이 1인경우, 숨김문자(?, Concealed Text)영역에 'c' 표시. |
nbsp:c | 줄 바꿈 없는 공백(Non-Breakable Space)를 'c'로 표시 |
위 설정들 중 몇몇을 복합적으로 설정하려면 다음과 같은 방법으로 설정합니다.
:set lcs=tab:>-,trail:- :set lcs=tab:>-,eol:<,nbsp:% :set lcs=extends:>,precedes:<
기존의 lcs 속성에 새로운 속성을 추가하려면 다음과 같이 입력하면 됩니다.
:set lcs+=nbsp:_
색을 다르게..
탭이나 줄바꿈 기호가 들어간 뒤로 코드가 더 지저분해진 경우 다음의 명령으로, 해당 기호의 색을 배경색과 비슷하게 수정할 수 있습니다.
hi NonText ctermfg=7 guifg=gray hi SpecialKey ctermfg=7 guifg=gray
"eol", "extends" 그리고 "precedes"는 NonText으로 "nbsp", "tab" 그리고 "trail"은 SpecialKey로 화면 표시 전/배경 색을 수정해 주면 됩니다.