gpt4 book ai didi

django - 仅为 Django 项目配置 Django SnipMate 片段

转载 作者:行者123 更新时间:2023-12-02 02:27:48 24 4
gpt4 key购买 nike

我正在使用 SnipMate与 Rob Hudson 的 snipmate_for_django使用 MacVim 的 Django 开发片段.

要根据文件类型自动激活代码片段,Rob 建议将以下内容添加到 ~/.vimrc:

autocmd FileType python set ft=python.django " For SnipMate
autocmd FileType html set ft=htmldjango.html " For SnipMate

这为所有 html 文件启用了 htmldjango 片段。

有没有办法只为位于 Django 项目中的 html 文件启用 htmldjango 片段?

例如,如果我正在处理与 Rails 项目相关的 html 文件,我不想启用 htmldjango 片段。

最佳答案

我也有那条线,但我想知道是否需要它。 MacVim 附带的默认 filetype.vim - 在 /Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim 找到它 - 包含一些应该自动区分纯 HTML 和 Django 的代码,通过测试前几行中是否有 extendsblock 标记:

au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm  call s:FThtml()

" Distinguish between HTML, XHTML and Django
func! s:FThtml()
let n = 1
while n < 10 && n < line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
endif
if getline(n) =~ '{%\s*\(extends\|block\)\>'
setf htmldjango
return
endif
let n = n + 1
endwhile
setf html
endfunc

我实际上已经破解了它以将 load 添加到确定标签中,但这似乎在几乎所有情况下都足够了。

关于django - 仅为 Django 项目配置 Django SnipMate 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com