Vim右边距
有没有办法让Vim / gVim在当前文档中突出显示右边距? 我刚刚开始和Vim合作一段时间,我发现它在第80列没有右边距的时候感到恼火。
Vim 7.3引入了colorcolumn。
 :set colorcolumn=80 
记住短表可能会更容易。
 :set cc=80 
 没有简单的方法来显示textwidth -margin的垂直边缘(在Vim 7.2和更早的版本中)。 但是,可以使用:match命令突出显示超出80列限制的所有字符。 
 :match ErrorMsg /\%>80v.\+/ 
所以,一般的解决scheme是使用下面的自动命令。
 :autocmd BufWinEnter * call matchadd('ErrorMsg', '\%>'.&l:textwidth.'v.\+', -1) 
我在我的.vimrc中写了一个vimscript函数来切换colorcolumn当我按,8(逗号后面8,其中逗号是用户定义的命令定义的领导者,和八是我的助记键“显示边缘在第80列):
 " toggle colored right border after 80 chars set colorcolumn=81 let s:color_column_old = 0 function! s:ToggleColorColumn() if s:color_column_old == 0 let s:color_column_old = &colorcolumn windo let &colorcolumn = 0 else windo let &colorcolumn=s:color_column_old let s:color_column_old = 0 endif endfunction nnoremap <Leader>8 :call <SID>ToggleColorColumn()<cr> 
 我已经改写了 Jonathan Hartley为7.2之类的旧Vim版本的答案 ,因为在Vim中没有colorcolumn列。 
 highlight OverLength ctermbg=red ctermfg=white guibg=#592929 let s:OverLengthToggleVariable=0 function! ToggleOverLength() if s:OverLengthToggleVariable == 0 match OverLength /\%81v.\+/ let s:OverLengthToggleVariable=1 else match OverLength // let s:OverLengthToggleVariable=0 endif endfunction " I like <leader>h since highlight starts with h. nnoremap <leader>h :call ToggleOverLength()<cr>