Vim의 활성 창에만 배경색을 설정하는 방법은 무엇입니까?


16

작지만 시각적으로 즐거운 기능이며 약간 유용성을 추가하기 위해 Vim이 활성 창에 대해 다른 배경색을 사용하고 싶습니다.

다음은 내가 한 일의 스케치입니다.

여기에 이미지 설명을 입력하십시오

일반적으로 해당 vim의 배경은 모두 검은 색이지만 활성 창에만 고유 한 색상이있어 사용자의주의를 집중시킵니다. 상태 표시 줄만 강조하는 것만으로는 충분하지 않습니다!

답변:


8

Heptite, 아이디어 주셔서 감사합니다.

WinEnter와 WinLeave autocmd를 대체하여 각 줄 앞에 줄 번호를 추가 / 제거합니다.

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

이제 어느 창이 활성화되어 있는지 추적하는 것이 더 세련됩니다.


이것은 멋지다. 너무 나쁘다 나는 줄 번호를별로 공상하지 않기 때문에 너무 미학적이다.
nperson325681

3

기본 배경색을 제어하는 ​​강조 그룹은 " Normal"및 " NonText"입니다. 불행히도 이것들은 "글로벌"하이라이트이며 창마다 "현지화"될 수 없습니다.

그러나 다음은 정말 못생긴 예입니다.

augroup BgHighlight
    autocmd!
    하이라이트 ActiveWindow guibg = lightblue
    autocmd WinEnter * call matchadd ( 'ActiveWindow', '. *', 10, 1682)
    autocmd WinLeave * call matchdelete (1682)
augroup END

doautocmd BgHighlight WinEnter-

이것은 단지 예일 뿐이므로, guibg = ...와 함께 ctermbg = ... highlight를 추가하는 등 개인의 필요에 맞게이를 수정해야합니다.

단점은 전체 줄 / 창이 아니라 파일에서 기존 텍스트의 배경 만 강조한다는 것입니다. (내가 말했듯이, 못 생겼고 혼잡했다.)


좋은 생각이지만 패턴 .*은 파일의 텍스트와 만 일치합니다. 나머지 배경에서 아무것도 없습니다. 또한 ctermbg재산이 있는 터미널에서만 작동했습니다 . 이상한 ...
nperson325681

죄송합니다. 정답이 더 명확해야합니다. 편집했습니다.
Heptite
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.