2013-01-24 48 views
0

我獲得了使用java代碼塊的文件,是否可以告訴vim在語法文件中爲整個區域導入java.vim語法文件?區域的VIM語法導入

例子:

syn region javaCode start="<Java>" end="</Java>" 
hi link javaCode source ???? 

回答

2

最簡單的是剛剛

:set syntax=java 

並專注於Java的一部分。但是,如果要在自己的語法文件中覆蓋Java語法,則需要使用:syntax region:help :syn-include有細節:

:syntax include @Java syntax/java.vim 
:syntax region myJava start="<java>" end="</java>" [email protected] 

PS:由於命令是複雜的(但是這在語法上的腳本,包括另一種語法沒關係)又難記,我已經寫了SyntaxRange plugin使建立這樣地區更容易。對於你的例子,這將是這樣的電話:

:call SyntaxRange#Include('<java>', '</java>', 'java', 'NonText') 

該插件是偶爾,臨時使用的意思。如果你寫自己的語法腳本,我會避免這種依賴性,並直接使用上面的語法命令。

+0

謝謝!這確實有幫助,尤其是鏈接到您在插件網頁上提供的vim wiki。 – Darek

+0

太棒了;謝謝。我從你的回答中不完全確定你的確切目標是什麼,所以我增加了多種選擇。我的插件基於Wiki頁面的代碼。 –

+0

我喜歡':syntax include'和':syntax region'位,但是我正在嘗試對一個語法文件做同樣的處理,如果設置了'b:current_syntax',將不會加載這個語法文件。如果我解開它,地獄會因各種各樣的錯誤而崩潰。有沒有簡單的方法來解決這個問題? – lorenzog