在同一文件的多个选项卡中突出显示vim中80个字符的行

时间:2016-06-12 06:10:44

标签: vim tabs character limit highlight

从这两个问题:

Vim 80 column layout concerns

Vim syntax coloring: How do I highlight long lines only?

我为.vimrc提取了以下配置:

augroup vimrc_autocmds
 autocmd BufEnter * highlight OverLength ctermbg=darkred ctermfg=whitee guibg=#FFD9D9
 autocmd BufEnter * match OverLength /\%>80v.\+/
augroup END

这适用于在vim中突出显示长度超过80个字符的行, 但是当我使用以下方法打开同一文件的另一个标签时:

:tab split

突出显示在新标签中不起作用,仅在原始标签中有效。如何为新标签实现相同的效果?

1 个答案:

答案 0 :(得分:3)

以下是您的代码段的清理版本:

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9

augroup vimrc_autocmds
    autocmd!
    autocmd BufEnter,WinEnter * call matchadd('OverLength', '\%>80v.\+', -1)
augroup END
  • 当您重新加载vimrc时,该组中的自动命令已正确清除。
  • BufEnter事件仅触发一次,您需要收听另一个事件WinEnter,该事件在窗口获得焦点时触发。
  • matchadd():match更灵活,并允许您设置突出显示的优先级(如果您依赖hlsearch,则非常有用)。