在 Emacs 中使用 Django/Jinja 模板中的 {% tag %} 是否更简单?
我正在 Emacs 中编写大量 Django/Jinja 模板。我已经在使用 nXhtml,它在缩进方面做得很好。
我正在寻找这样的东西:
- 当我键入
{%
时插入关闭%}
,或者让我按一个键插入{% ▊ %}
(其中▊
是光标) - 更容易创建
{% if %}
/{% else %}
/< code>{% endif %} 块 - 也许会为任何
{% foo %}
标签自动添加{% endfoo %}
建议?
I'm writing a lot of Django/Jinja templates in Emacs. I'm already using nXhtml, which does an okay job of indenting.
I'm looking for something that:
- Inserts closing
%}
when I type a{%
, or lets me hit a key to insert a{% ▊ %}
(where▊
is the cursor) - Makes it easier to create
{% if %}
/{% else %}
/{% endif %}
blocks - Maybe auto-adds
{% endfoo %}
for any{% foo %}
tags
Suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
到了 2018 年,很多事情都发生了变化。我相信很多 Emacs 用户现在使用 web-mode 而不是不再开发的 nXhtml 自 2012 年。
网页模式支持自动配对(例如,{% … %})。当您打开任何 html 模板时,您可以设置要使用的引擎(Mx web-mode-set-engine),或者 web-mode 将为您检测引擎。
现在,您不必依赖 yasnippet 来执行此操作
By 2018, many things had changed. I believe many Emacs user use web-mode now instead of nXhtml which is no longer being developed since 2012.
Web-mode support auto pairing (e.g. , {% … %}). When you open any html template, you can set which engine you want to use (M-x web-mode-set-engine), or web-mode will detect the engine for you.
Now, you don't have to rely on yasnippet to do this
安装 yasnippet 并将您的代码片段添加到 nxml 模式,例如
将它们保存在文件中分别为 % 、%for 和 %if 。
然后,您只需在制表符后面键入 %,它就会在百分号之间插入带有光标的 {% %}。类似的类型 %if 用于
if
构造,%for 用于循环。Install yasnippet and add your snippets to the nxml-mode, like
Save them in files % , %for and %if respectively.
Then you just type % following by a tab and it will insert {% %} with a cursor between percent symbols. Similar type %if for
if
construct and %for for a loop.