[英]sourcing vimrc when opening a file in tab page?
我的vimrc中有以下内容以突出显示超过80列的所有行:
highlight ColorColumn ctermfg=red ctermbg=bg
call matchadd('ColorColumn', '\%81v.\+', 100)
它在大多数情况下都很好用。 但是,我注意到如果我在新标签中打开文件,它根本不起作用。 我能够解决这个问题:source $MYVIMRC
。 但问题是,当我找到我的vimrc时,我丢失了我的indentLines插件。 我做了一些测试,我发现只要vimrc
来自vim的开放实例,indentLines就会消失。 但是,当我在新选项卡中打开文件时,我无法确定为什么没有调用上面显示的2行。 有任何想法吗?
matchadd()
仅影响当前窗口。 要在所有窗口中使用它,您可以将以下内容添加到.vimrc:
if exists("*matchadd")
augroup colorColumn
au!
au BufEnter * call matchadd('ColorColumn', '\%81v.\+', 100)
augroup END
endif
编辑:正如Ingo在评论中指出的那样, BufEnter
会在没有必要时多次触发。 以下几行纠正了这个问题:
if exists("*matchadd")
augroup colorColumn
au!
au VimEnter,WinEnter * call matchadd('ColorColumn', '\%81v.\+', 100)
augroup END
endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.