Vim에서 80 자 이상의 다른 배경색 표시


134

나는 Vim 80 열 레이아웃 문제 를 보았지만 거기에 대한 답변은 80 문자를 넘는 실제 내용 만 강조 표시합니다. 일반 배경을 사용하여 가장 왼쪽에 80 열이 있고 약간 다른 배경을 사용하는 것을 지나면 100 + 열 Vim 창이 열립니다. Vim 창 배경은 80 자 이상의 텍스트가 아닌 다른 색이어야합니다. 이것은 80 점에 도달하지 않고 얼마나 가까워 졌는지 나타냅니다.

나는 이것이 현재 가능하다고 생각하지 않지만, 만일을 대비하여 물어볼 것이라고 생각했다.

플러그인으로 할 수 있습니까?

원하는 Vim 오른쪽 여백 강조 표시의 TextMate 예

TextMate의 일반 환경 설정에서 "오른쪽 여백 강조"를 선택하면 원하는 Vim 동작의 예를 볼 수 있습니다.

TextMate 오른쪽 여백 강조 표시 예


답변:


223

Vim> = v7.3이있는 경우 간단히 .vimrc81을 강조 표시 하기 위해 이것을 추가 할 수 있습니다 (따라서 80이 마지막 유효 열임 ).

let &colorcolumn=join(range(81,999),",")

하이라이트가 보이지 않으면 ColorColumn하이라이트 색상이 설정되어 있지 않은 것 입니다. 이것을 추가하십시오 (환경 설정에 맞게 조정하십시오).

highlight ColorColumn ctermbg=235 guibg=#2c2d27

이제 열 80뿐만 아니라 120 이상을 강조 표시하기 위해 별도의 "경고"및 "위험"마커가 있습니다. 따라서 그렇게 할 수 있습니다.

let &colorcolumn="80,".join(range(120,999),",")

다음은 my을 편집하는 GVim의 스크린 샷입니다 .vimrc.

.vimrc를 편집하는 GVim

Ubuntu Mono 11 글꼴과 molokai 색 구성표를 사용합니다. 내 vim 설정 및 모든 내점 파일 을 GitHub에서 찾을 수 있습니다 .


3
colorcolumn은 256 정의로 제한됩니다 :help colorcolumn... 또한, 결합 기술을 사용할 때 내 설정이 일정 길이에서 잘린 것처럼 보이지만 vim의 소스를 통해 검색하여 길이가 무엇인지 알아낼 수는 없습니다. 또한 vim은이 설정 값을 창에 들어갈 때마다 버퍼로 구문 분석하고 버퍼를 초기화하는 등의 작업을 수행하므로 원하는 결과를 얻는 데 비용이 많이 듭니다.
cptstubing06

15
도트 파일이 뜨겁습니다.
obfk

1
이것을 게시 해 주셔서 감사합니다. 정확히 내가 찾던 것입니다! 질문 하나만 더,이 규칙을 특정 유형의 파일 (.md)로 설정하지 않는 방법이 있습니까?
David Dias

1
트윗 담아 가기 autocmd FileType markdown let &colorcolumn=""완전히 설정 해제하는 것과 같은 일 을 할 수 있습니다 .
저스틴 포스

1
에 업데이트 된 링크 정력 설정
reergymerej

78

81 열 강조 표시

:set textwidth=80
:set colorcolumn=+1

스타일을 만들 수도 있습니다.

:hi ColorColumn guibg=#2d2d2d ctermbg=246

2
이것은 최대 256 개의 열을 강조 표시하는 것이 가능하지만 불행히도 강조 표시 할 열 목록이 필요하고 약기가 없으므로 넓은 범위에서 :set colorcolumn=+1,+2,+3,+4,+5,+6최대 등의 작업을 수행해야합니다. +256당신은 당신의 오른쪽 여백을 원한다고 생각합니다. 그러나 이것은 창의 모든 행이 아니라 버퍼에 존재하는 행만 강조 표시합니다.
mkomitee

1
@Dyslexic Tangent : 대신 처음 80 개의 열을 강조 표시하지 않겠습니까?
brice

1
나는 그것을 생각하지 않았다. 배경을> 80 열을 강조 표시하는 데 사용할 색상으로 설정하고 모든 열의 색상 열을 1-80에서 설정하고 색상 열의 강조 그룹을 일반적인 배경색으로 설정하십시오.
mkomitee

2
한 가지 질문은 입력하여 색상을 올바르게 설정할 수 :hi colorcolumn ...있지만 .vimrc에 넣으면 작동하지 않는 것 같습니다. 그렇게하는 방법을 알고 있습니까?
robbrit

나는 robbrit와 같은 문제를 겪고있다-만약 ex 모드에서 highlight 명령을 실행하면 괜찮아 보이지만, 만약 vimrc 파일에 그것을 가지고 있다면, 그것은 내 색 구성표를 파괴한다 ...
Bennidhamma

16

위의 의견에서 제안 된 솔루션. 먼저 배경을 강조 표시 한 다음 오버레이로 ColorColumn 검은 색을 강조 표시하십시오. 컬러 컬럼을 1-80 행으로 설정하십시오.

hi Normal guibg=#32322f ctermbg=236
hi NonText guibg=#32322f ctermbg=236
hi ColorColumn guibg=#000000 ctermbg=0
let &colorcolumn=join(range(1,80),",")

1
이것은 간단하지만 훌륭합니다. 감사!
airstrike

8

시험:

:/\%>80v./+

+80자를 오류로 표시합니다.


꼬집음에 영리합니다. 테마 변경에 적응하기 때문에 좋아합니다. 감사.
Benjamin

0

나는 당신이 원하는 것을 가질 수 있다고 생각하지 않지만, 나는 그런 것에 관심이 있기 때문에이 질문을 따릅니다.

어쩌면 분명히 말할 수 있지만 70 번째 열에 highligth를 설정하여 80 번째 열에 얼마나 근접했는지 나타낼 수 있습니다.


0

Conner가 게시 한 솔루션을 원하는 나 같은 onedark.vim을 사용하는 사람들을 위해이 줄을 vimrc 파일에 추가했습니다.

let &colorcolumn=join(range(1,80),",")
let g:onedark_color_overrides = {
  \ "black": {"gui": "#2C323C", "cterm": "236", "cterm16": "8"},
  \ "cursor_grey": {"gui": "#282C34", "cterm": "235", "cterm16": "0"}
  \ }

방금 두 값을 바꾸고 onedark의 소스 코드에서 가져 왔습니다.

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