查看官方 Django 文档。有一个“在 Django 中使用 Vim”部分。
https://code.djangoproject.com/wiki/UsingVimWithDjango
和环绕映射部分。
这是一个摘录:
let b:surround_{char2nr("v")} = "{{ \r }}"
let b:surround_{char2nr("{")} = "{{ \r }}"
let b:surround_{char2nr("%")} = "{% \r %}"
let b:surround_{char2nr("b")} = "{% block \1block name: \1 %}\r{% endblock \1\1 %}"
let b:surround_{char2nr("i")} = "{% if \1condition: \1 %}\r{% endif %}"
let b:surround_{char2nr("w")} = "{% with \1with: \1 %}\r{% endwith %}"
let b:surround_{char2nr("f")} = "{% for \1for loop: \1 %}\r{% endfor %}"
let b:surround_{char2nr("c")} = "{% comment %}\r{% endcomment %}"
将上面的内容放在 ~/.vim/ftplugin/htmldjango.vim 中。
可视模式下的示例(先选择一些文本):
- 为变量输入Sv或S{
- 为块键入Sb
- 为 if 语句键入Si
- 为 with 语句键入Sw
- 输入Sc发表评论
- 为 for 语句键入Sf
- 为其他模板标签键入S%
PS:另一种可能性是使用 eclim (vim + eclipse),它支持 Django 项目和模板编辑http://eclim.org/vim/python/django.html但这要重得多。