Answers:
编辑:对于Vim> = 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
highlight
必须在任何colorscheme
命令之后设置该设置,因为这会覆盖突出显示的颜色。
textwidth
当您键入时,这也会导致vim包装。
还有另一种通知长线的方法。
高亮显示OverLength ctermbg =红色ctermfg =白色guibg =#592929
匹配OverLength /\%81v.*/
我使用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)