根据这两个问题:
Vim 80立柱布局涉及
Vim语法着色:如何仅突出显示长行?
我已经为我的.virc:提取了以下配置
augroup vimrc_autocmds
autocmd BufEnter * highlight OverLength ctermbg=darkred ctermfg=whitee guibg=#FFD9D9
autocmd BufEnter * match OverLength /%>80v.+/
augroup END
这适用于在vim中突出显示超过80个字符的行,但是当我使用打开同一文件的另一个选项卡时
:tab split
高亮显示在新选项卡中不起作用,只在原始选项卡中起作用。如何为新选项卡实现相同的效果?
以下是您的代码片段的清理版本:
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
,则非常有用)