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

Vim (GVim이 아님)의 80 열에 수직선을 표시하는 방법을 찾는 데 관심이 있습니다.

을 사용 set wrap했지만 세로선 만 표시하여 긴 선을 직접 감을 수 있습니다.



답변

편집 : 빔> = 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 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


답변

긴 줄에 대해 알리는 또 다른 방법이 있습니다.

OverLength 강조 ctermbg = red ctermfg = white guibg = # 592929 OverLength
일치 /\%81v.*/

Vim 80 열 레이아웃 문제


답변

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

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


답변

여기에 몇 가지 답변 http://vim.wikia.com/wiki/Highlight_long_lines 간단한 자동 명령

:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)


답변