如何取消特定文件扩展名的匹配模式?

时间:2013-08-14 22:39:43

标签: vim

我目前在vimrc中有以下行,以突出显示超过80个字符宽的行。

match ErrorMsg '\%>80v.\+

我希望在编辑SQL文件时禁用此规则,因此我尝试根据我在帮助中阅读的内容添加此行。

 autocmd BufNew,BufRead *.sql :match ErrorMsg none

但是,每当我加载sql文件时,都会抛出以下错误。

Error detected while processing BufRead Auto commands for "*.sql":
E488: Trailing characters: :match ErrorMsg none
Press ENTER or type command to continue

如何在不抛出错误的情况下使其正常工作?

2 个答案:

答案 0 :(得分:2)

摆脱突出组。 (删除冒号,因为它不影响结果)

autocmd BufNew,BufRead *.sql match none

您只能使用3场比赛,您需要使用match,2match或3match。所以你只需要清除你使用的具体的那个

请注意:h :match {group}中没有列出match none

的语法
:mat[ch]
:mat[ch] none
                Clear a previously defined match pattern.

答案 1 :(得分:0)

注意:在最近的Vim 7.3+版本中,您也可以使用:

:setlocal colorcolumn=81

在你原本相同的:autocmd

另请注意,此:match和{{1}}都是窗口本地的,因此如果切换缓冲区,突出显示将保持不变。要彻底解决这个问题(仅仅是麻烦)需要更精细的autocmds。