터미널 vim에 후행 공백을 멋지고 멋지게 표시하고 싶습니다. 이렇게하면 파일을 닫기 전에 파일을 제거 할 수 있습니다.
나는이 질문이 매우 유명하다는 것을 알고 있으며 이미 수십 가지 답변을 찾았습니다. 불행히도 나는 아직 만족스러운 것을 찾지 못했습니다 ...
그래서 수집 된 정보와 내가 찾은 솔루션을 요약하려고합니다.
해결 방법 1 : 후행 공백을 수동으로 강조 표시
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
장점 :
- 사용하기 쉬운
- 빠른
- 호환
cursorline
단점 :
- 색상이 수동으로 설정되어 있기 때문에 선택한 색상이 다른 색상 구성표와 호환되지 않습니다
red
- 큰 빨간색 배경 블록은 심미적이지 않습니다.
해결 방법 2 : 목록 기능 사용
set list
set listchars+=trail:◦
장점 :
- 사용하기 쉬운
- 빠른
단점 :
:set cursorline
활성화 된 경우 문제- 에 대한 전용 색상
list/trail
은 구성 할 수 없습니다. 다른 listchar와 동일해야합니다.
해결 방법 3 : 은폐 기능 사용
syn match WhiteSpace "\s\+$" containedin=ALL conceal cchar=◦
set conceallevel=2
set concealcursor=nv
highlight Conceal ctermfg=red
장점 :
- 첫 번째 솔루션보다 더 예쁘다
단점 :
- 배경이 커서 배경과 동일하지 않습니다
- 다른 은닉 규칙을 방해 할 수 있음
- 선택한 색이 항상 색 구성표와 호환되지는 않습니다.
- 이전 버전의 Vim과 호환되지 않습니다
내 질문
열거 된 솔루션 중 성능 및 호환성 측면에서 가장 적합한 솔루션은 무엇이며 어떻게 모든 장점을 얻을 수 있습니까?
다른 말로하면, 나는 다음과 같은 해결책을 찾고 싶습니다.
- 하이라이트 후행 색상은 선택한 색상 구성표와 일치합니다
- 이 색은 눈에 잘 띄지 만 눈에 너무 공격적이지는 않습니다.
cursorline
(배경 및 전경)과 호환 가능 `- 은폐를 사용하는 다른 플러그인과 호환
- 후행 문자는 모든 유니 코드 문자로 설정할 수 있습니다
:hi link ExtraWhitespace CursorLine
. 참조하십시오:help hi-link
.