在Django/Jinja模板中使用{%tags%}和Emacs一起使用的更简单的方法是什么?
我在Emacs中编写了很多Django/Jinja模板。我已经在用了,它在缩进方面做得很好 我在寻找这样的东西:在Django/Jinja模板中使用{%tags%}和Emacs一起使用的更简单的方法是什么?,emacs,django-templates,jinja2,Emacs,Django Templates,Jinja2,我在Emacs中编写了很多Django/Jinja模板。我已经在用了,它在缩进方面做得很好 我在寻找这样的东西: 当我键入一个{%时,插入结束符%},或者让我按一个键插入一个{%▊ %}(其中▊是光标) 使创建{%if%}/{%else%}/{%endif%}块更加容易 对于任何{%foo%}标记,可能会自动添加{%endfoo%} 建议?安装代码片段并将其添加到nxml模式,如 #name : {% %} # -- {% $0 %} #name : {% for %} # -- {% for
{%
时,插入结束符%}
,或者让我按一个键插入一个{%▊ %}代码>(其中▊代码>是光标)
{%if%}
/{%else%}
/{%endif%}
块更加容易{%foo%}
标记,可能会自动添加{%endfoo%}
#name : {% %}
# --
{% $0 %}
#name : {% for %}
# --
{% for $1 in $2 %}
$0
{% endfor %}
#name : {% if %}
# --
{% if $0 %}
{% else %}
{% endif %}
将它们分别保存在文件%、%和%if中
然后您只需在选项卡后面键入%,它将在%符号之间插入带有光标的{%%}。类似的类型%if用于if
construct,而%用于循环。安装代码片段并将其添加到nxml模式,如
#name : {% %}
# --
{% $0 %}
#name : {% for %}
# --
{% for $1 in $2 %}
$0
{% endfor %}
#name : {% if %}
# --
{% if $0 %}
{% else %}
{% endif %}
将它们分别保存在文件%、%和%if中
然后你只需在一个标签后面键入%,它将在%符号之间插入带有光标的{%%}。类似的类型%if用于
if
construct,而%用于循环。到2018年,许多事情都发生了变化。我相信许多Emacs用户现在使用的是nXhtml,而不是不再开发的nXhtml
Web模式支持自动配对(例如,{%…%})。打开任何html模板时,可以设置要使用的引擎(M-x Web模式集引擎),或者Web模式将为您检测引擎
现在,你不必依赖yasnippet在2018年完成这项工作,很多事情已经改变了。我相信很多Emacs用户现在使用的是nXhtml,而不是不再开发的nXhtml Web模式支持自动配对(例如,{%…%})。打开任何html模板时,可以设置要使用的引擎(M-x Web模式集引擎),或者Web模式将为您检测引擎 现在,你不必依靠yasnippet来做这件事