在下面的代码中:var rootTemplate = template.Must(template.New("root").Parse(`<!DOCTYPE html><html><head> /SNIP/</html>`))我可以使用此功能将 html 部分突出显示为 html:function! GoHtml() if !empty(b:current_syntax) unlet b:current_syntax endif syn include @html syntax/html.vim syntax region htmlCode start=+<!DOCTYPE+ keepend end=+</html>+ contains=@html containedIn=goRawString containedendfunctionautocmd BufEnter *.go call GoHtml()但是,在我保存文档后,调用 GoImports 时 html 语法突出显示消失了: let g:go_fmt_command = "GoImports"有没有办法保持嵌入的 html 突出显示?
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
最后我把它钉在了这个上面:
function! GoHtml()
GoFmt
if !empty(b:current_syntax)
unlet b:current_syntax
endif
syn include @html syntax/html.vim
syntax region htmlCode start=+<!DOCTYPE+ keepend end=+</html>+ contains=@html containedin=goRawString contained
endfunction
autocmd BufEnter *.go call GoHtml()
autocmd BufWrite *.go call GoHtml()
execute pathogen#infect()
" don't save automatically, let us handle this
let g:go_fmt_autosave = 0
" for golang: automatically run GoImports
let g:go_fmt_command = "GoImports"
这样我就可以按照我想要的方式混合 go 和 html 代码。
- 1 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消