tags:

views:

695

answers:

5

hi,

I'm finding a way to show a vertical line at 80 column in vim(not gvim). I've been used "set wrap", but I just want to show the line to wrap the long line by myself.

thanks.

A: 

Several answers here http://vim.wikia.com/wiki/Highlight%5Flong%5Flines simple autocommand

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

There is another way to notify about the long line.

highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.*/

http://stackoverflow.com/questions/235439/vim-80-column-layout-concerns

Brian
A: 

I use match ErrorMsg '\%>80v.\+' which will highlight anything over 80 chars with red.

I put that command in my python.vim and ruby.vim under ~/.vim/after/ftplugin/.

Pierre-Antoine LaFayette
+1  A: 

Unfortunately vim has no mechanism to display a vertical line after a column like you want (unlike, say, TextMate). However, there are alternative visual indicators that you can use to show that a line is too long.

Here's what I use (you can put this in your .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

So then you can use <Leader>H to toggle columns over 80 being highlighted.

Sam
+3  A: 

New in Vim 7.3:

'colorcolumn' is a comma separated list of screen columns that are highlighted with ColorColumn. Useful to align text. Will make screen redrawing slower. The screen column can be an absolute number, or a number preceded with '+' or '-', which is added to or subtracted from 'textwidth'.

Example from the docs:

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

You can use absolute numbers as well:

:set colorcolumn=80
UncleZeiv