Programing

Vim에서 줄을 감싸는 세로 줄을 표시하는 방법은 무엇입니까?

lottogame 2020. 7. 22. 21:53
반응형

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으로 강조 표시된 쉼표로 구분 된 화면 열 목록입니다. 텍스트를 정렬하는 데 유용합니다. 화면 다시 그리기 속도가 느려집니다. 화면 열은 절대 숫자이거나 '+'또는 '-'앞에 오는 숫자이며 'textwidth'에 더하거나 뺄 수 있습니다.

문서의 예 :

: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 = 빨간 ctermfg = 흰색 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)

참고 URL : https://stackoverflow.com/questions/1919028/how-to-show-vertical-line-to-wrap-the-line-in-vim

반응형