在标签页中打开文件时采购vimrc?

时间:2014-02-27 19:21:11

标签: vim

我的vimrc中有以下内容,以突出显示超过80列的所有行:

highlight ColorColumn ctermfg=red ctermbg=bg
call matchadd('ColorColumn', '\%81v.\+', 100)

在大多数情况下效果很好。但是,我注意到如果我在新标签中打开文件,它根本不起作用。我可以通过:source $MYVIMRC解决这个问题。但问题是,当我找到我的vimrc时,我丢失了我的indentLines插件。我做了一些测试,我发现只要vimrc来源于vim的开放实例,indentLines就会消失。但是,当我在新选项卡中打开文件时,我无法确定为什么没有调用上面显示的2行。有什么想法吗?

my vimrc

1 个答案:

答案 0 :(得分:3)

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