특정 열에서 눈금자를 설정하려면 어떻게해야합니까?


49

다른 언어로 코딩 할 때 줄을 특정 길이 (일반적으로 79 또는 80 자)로 제한해야합니다.

나는 다른 편집기에서 눈금자 (열에 실선이 표시됨)를 사용하거나 텍스트의 색상을 변경하여 넘어 갔음을 표시 하여이 작업을 수행했습니다.

한 줄에 79 자 이상이되거나 접근 할 때 Vim에게 어떻게 알려주나요?

답변:


63

Vim 7.3 이상에서만 사용할 수 있는 :set colorcolumn( :set cc짧게) 옵션을 사용하여 특정 줄에 눈금자를 표시 할 수 있습니다 .

set colorcolumn=80

그러면 해당 열의 배경색이 빨간색으로 설정되어 시각적 눈금자가 작업하게됩니다.

기본 색상 열 ​​그림이 80으로 설정 됨

당신이 (정말로 의미하는) 빨간색 이외의 다른 색상을 사용하려면, 당신은을 설정하여 색상을 변경할 수 있습니다 highlight위해 ColorColumn.

highlight ColorColumn ctermbg=0 guibg=lightgrey

열에 대한 사용자 정의 색상

cterm인수를 사용하여 Vim의 터미널 버전 및 guibg인수를 사용하여 Vim의 GUI 버전에 대한 색상을 설정할 수 있습니다 . 은 0밝아 경우 (기본값, 인) 회색 검은 색의 ASCII 이스케이프 코드의 값입니다. 이 값 lightgrey은 gVim과 같은 Vim의 GUI 버전에서 배경색을 밝은 회색으로 변경하는 데 사용됩니다.


10
쉼표로 구분 된 여러 열을 가질 수도 있습니다!
200_success

4
이것을 결합 및 범위와 결합하면 코드가 거의없는 여러 열을 가질 수 있습니다. 내 .vimrc의 기능 :execute "set colorcolumn=" . join(range(81,335), ',')
Cody Poll

19

Kevin의 답변에 대한 부록으로 여러 색상 열을 가질 수 있습니다. 코딩 할 때 80 열의 "소프트"제한과 120 열의 "하드"제한이있는 경우가 있습니다. 그래서 80에서 줄을 원하고 120 이후의 모든 열에 색상을 지정하려고합니다.

나는 이것을한다

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

물론 이것은 다른 환경 설정으로 쉽게 수정할 수 있습니다.


14

Vim 7.3은 colorcolumn다른 답변에서 매우 자세하게 옵션을 제공합니다 .

그러나 어떤 이유로 든 버전 7.3이없는 경우 vim의 match기능을 사용하여 특정 열 수를 초과했음을 시각적으로 표시 할 수 있습니다 ( :help match자세한 내용 참조).

기본적으로 일치 명령을 사용하면 지정된 정규식과 일치하는 텍스트에 대한 지속적인 강조 표시를 만들 수 있습니다. :match ColorColumn "\%80v.""ColorColumn"그룹으로 열 80의 텍스트를 강조 표시합니다. 물론 강조 그룹과 열 값을 대체 할 수 있습니다. 강력한 시각적 표시를 원하면 표현식에서 "\%>79v.\+"열 80 이상을 강조 표시합니다.

( \%80v"가상 컬럼 80에 매치"를 의미하고 \%>79v'검색 수단 가상 칼럼 (79)] 참조 :help /\%c. 이상)을

그러나이 방법은 지정된 열에 실제 문자가있는 경우에만 강조 표시되므로보다 시각적으로 일관성이 떨어집니다 colorcolumn.


4
개인적 match으로 화면 오른쪽에 (나에게) 큰 빨간 선을 표시하는 대신 80 열 제한을 초과하는 행만 강조 표시하기 때문에 덜 일관성있는 es 접근 방식이 더 좋습니다. 따라서 파이썬 용 vimrc call matchadd('ColorColumn', '\(\%80v\|\%100v\)')에서 (PEP 8의 권장 길이는 80과 100)
jalanb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.