如何显示垂直线包装在VIM行?
我想find一种方法来显示Vim(而不是GVim)80列的垂直线。 我已经使用了set wrap
,但是我只想显示行自己换行。
编辑:对于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新增function:
'colorcolumn'是用ColorColumn突出显示的屏幕列的逗号分隔列表。 用于alignment文本。 将使屏幕重绘速度变慢。 屏幕列可以是绝对数字,也可以是以“+”或“ – ”开头的数字,它是从“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)