有什么方法可以使Vim / gVim突出显示当前缓冲区的右边距?我刚刚开始与Vim合作了一段时间,但我感到烦恼的是,没有看到正确的边距(在第80列)。
Answers:
Vim 7.3引入了colorcolumn。
:set colorcolumn=80
您可能更容易记住缩写形式。
:set cc=80
我在.vimrc文件中写了一个vimscript函数,当我按,8时切换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>
:nnoremap <expr> <leader>8 &cc?':let &cc=0<CR>':':let &cc=80<CR>'
我已经将乔纳森·哈特利(Jonathan Hartley)的答案重写为7.2等较旧的Vim版本,因为colorcolumn
较旧的Vims中没有。
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>