我在Emacs中编写了很多Django / Jinja模板。我已经在使用nXhtml,这可以很好地缩进。
我正在寻找的东西:
%}
时插入结束{%
,或者让我点击一个键以插入{% ▊ %}
(其中▊
是光标){% if %}
/ {% else %}
/ {% endif %}
块{% endfoo %}
代码{% foo %}
醇>
建议?
答案 0 :(得分:2)
安装yasnippet并将您的代码段添加到nxml模式,例如
#name : {% %}
# --
{% $0 %}
#name : {% for %}
# --
{% for $1 in $2 %}
$0
{% endfor %}
#name : {% if %}
# --
{% if $0 %}
{% else %}
{% endif %}
将它们分别保存在文件%,%代表和%if 。
然后,您只需在选项卡中键入%follow,它将在百分号之间插入带有光标的{%%}。类似的类型%if用于if
构造,%用于循环。
答案 1 :(得分:1)
到2018年,许多事情发生了变化。我相信许多Emacs用户现在使用web-mode而不是不再开发since 2012的nXhtml。
网络模式支持自动配对(例如{%…%})。当您打开任何html模板时,可以设置要使用的引擎(M-x web-mode-set-engine),否则Web模式将为您检测引擎。
现在,您不必依靠yasnippet即可