2012-05-21 32 views
2

我使用Vim编辑带有嵌入宏的HTML,其中宏用双尖括号括起来,例如“<>”。 Vim的标准HTML突出显示将第二个“<”和“>”视为错误,并将其突出显示。我怎样才能防止这一点?我很乐意教$ $ VIMHOME/syntax/html.vim这个双角括号是好的,或者简单地禁用错误突出显示,但我不知道如何做任何一个。 (“突出明确htmlTagError”有没有效果其实,“突出明确了”在一个HTML缓冲区没有影响。)如何禁用Vim的HTML错误高亮显示?

+0

如何abouut (呵呵):sy off – mschr

+0

是的,这是权宜之计,但我希望更好。我一直在阅读Vim中的语法突出显示,但是html.vim比我迄今为止看到的简单示例复杂得多。 – Will

回答

1

下面是说明编辑现有的语法Vim的关注:

http://vimdoc.sourceforge.net/htmldoc/syntax.html#mysyntaxfile-add

在Unix/Linux的Vim运行路径:

    $HOME/.vim, 
        $VIM/vimfiles, 
        $VIMRUNTIME, 
        $VIM/vimfiles/after, 
        $HOME/.vim/after 

创建您的Vim运行路径的目录中称为 “后/语法”。

命令 - Unix/Linux操作系统:

mkdir ~/.vim/after 
mkdir ~/.vim/after/syntax 
  1. 编写包含要使用的命令Vim脚本。例如,为了改变颜色为C语法:高亮cComment ctermfg使用=绿色guifg =绿色

  2. 编写文件中的“后/语法”目录中。使用语法的名称,添加“.vim”。对于我们的C语法::W 〜/ vim的/后/语法/ c.vim

就是这样。下次您编辑C文件时,评论颜色将与 不同。你甚至不需要重新启动Vim。

如果您有多个文件,可以使用filetype作为目录名称 。将使用此目录中的所有“* .vim”文件,例如: 示例:〜/ .vim/after/syntax/c/one.vim〜/ .vim/after/syntax/c/two.vim

或者,你可以采取更简单的路线,并使用语法纳米命令行编辑器,你可以使用正则表达式很容易地定义你自己的语法中突出:

http://how-to.wikia.com/wiki/How_to_use_syntax_highlighting_with_the_GNU_nano_text_editor

3

如果你想介绍在宏中完整的语法突出显示,最简单的方法是从一个语法文件开始,如htmldjango$VIMRUNTIME/syntax/htmldjango.vim,然后使用来自同一目录的s html.vimdjango.vim);在其中,{{ ... }}等中有特殊意义。你希望它是一样的,但是<<>>是你的分隔符。

只突出<<...>>特别,你需要一个语法行是这样的:

syntax region mylangMacro start="<<" end=">>" containedin=ALLBUT,mylangMacro 

然后你可以用高亮显示:

highlight default link mylangMacro Macro 

这既可以在~/.vim/after/syntax/html.vim去或能以htmldjango的风格作为新的语法高亮器(这将是我的首选方法;然后您可以使HTML文件使用这个新的语法文件和autocmd)。


(您也可以删除错误与syntax clear htmlTagError强调这将走在相同的排序位置,但是希望你会觉得越来越独立高亮不仅仅是删除错误要好。)

+0

谢谢,这有帮助。 – Will

+0

@ user1408884:如果这是您需要的,请记住接受答案。 –

相关问题