2012-05-21 35 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:如果這是您需要的,請記住接受答案。 –

相關問題