Vim的右边距

Ha-*_*yen 74 vim

有没有办法让Vim/gVim突出显示当前文档的右边距?我刚刚开始与Vim合作一段时间,我发现它在第80列没有右边距时感到恼火.

wil*_*ell 115

Vim 7.3引入了colorcolumn.

:set colorcolumn=80
Run Code Online (Sandbox Code Playgroud)

您可能更容易记住简短形式.

:set cc=80
Run Code Online (Sandbox Code Playgroud)

  • 请看这里的第二个答案:http://stackoverflow.com/questions/235439/vim-80-column-layout-concerns以获得兼容性改进. (2认同)

ib.*_*ib. 19

没有简单的方法可视化textwidth-margin的垂直边缘(在Vim 7.2及更早版本中).但是,可以使用该:match命令突出显示超出80列限制的所有字符.

:match ErrorMsg /\%>80v.\+/
Run Code Online (Sandbox Code Playgroud)

因此,一般的解决方案是使用以下自动命令.

:autocmd BufWinEnter * call matchadd('ErrorMsg', '\%>'.&l:textwidth.'v.\+', -1)
Run Code Online (Sandbox Code Playgroud)


Jon*_*ley 7

我在我的.vimrc中编写了一个vimscript函数来切换颜色列,当我按下时,8(逗号后跟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>
Run Code Online (Sandbox Code Playgroud)