Vim에서 줄을 감싸기 위해 수직선을 표시하는 방법은 무엇입니까?


답변:


15

편집 : 빔> = 7.3를 참조 답변 아래 .

불행히도 vim에는 원하는대로 열 뒤에 수직선을 표시하는 메커니즘이 없습니다 (예 : TextMate와 달리). 그러나 선이 너무 길다는 것을 표시하는 데 사용할 수있는 대체 시각적 표시기가 있습니다.

내가 사용하는 것은 다음과 같습니다 (당신은 이것을 넣을 수 있습니다 .vimrc).

nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
 if !exists('w:longlinehl')
  let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
  echo "Long lines highlighted"
 else
  call matchdelete(w:longlinehl)
  unl w:longlinehl
  echo "Long lines unhighlighted"
 endif
endfunction

따라서을 사용 <Leader>H하여 80 개 이상의 열이 강조 표시되도록 전환 할 수 있습니다 .


리더 키의 vim 스크립트 표현입니다. 참조 표시 현재 <리더> 키 설정
로드

@Will, Learn Vimscript the Hard Way 는 vim 래빗 홀에 대해 배울 수있는 좋은 리소스입니다.
jazzabeanie

310

Vim 7.3의 새로운 기능 :

'colorcolumn'은 ColorColumn으로 강조 표시된 화면 열의 쉼표로 구분 된 목록입니다. 텍스트를 정렬하는 데 유용합니다. 화면 다시 그리기 속도가 느려집니다. 화면 열은 절대 숫자이거나 '+'또는 '-'가 앞에 붙은 숫자 일 수 있으며 '텍스트 너비'에 더하거나 뺄 수 있습니다.

문서의 예 :

:set colorcolumn=+1        " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3  " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey

절대 숫자도 사용할 수 있습니다.

:set colorcolumn=80

4
예제에서와 같이 수동으로 설정하지 않는 한 강조 표시 색상에 따라 색상이 자동으로 결정된다는 점에 주목하는 것이 좋습니다.
Alex Hart

highlight설정은 강조 색상을 재정의 하므로 명령 후에 설정해야합니다 colorscheme.
c4urself 2013

7
나는 번인 당신의 뇌 붉은 ... '당신은 아니까 ... 선 길이, 밝은 갔다
론 달 그렌

colorcolumn에 대해 두 가지 색상을 갖는 방법을 알고 있습니까? 나는 두 가지를 갖고 싶습니다. 코드의 경우 80 자에 일반 텍스트 / 주석을위한 72 자에 매우 희미한 것입니다.
Alice

textwidth입력 할 때 vim이 래핑 되도록하는 것도 언급하는 것이 좋습니다 .
병아리


6

나는 match ErrorMsg '\%>80v.\+'80 자 이상을 빨간색으로 강조 표시하는 것을 사용 합니다.

이 명령을 ~ / .vim / after / ftplugin / 아래의 python.vim 및 ruby.vim에 넣었습니다.


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