Html Emacs:yasnippet在代码段中插入空格的问题

Html Emacs:yasnippet在代码段中插入空格的问题,html,emacs,code-snippets,Html,Emacs,Code Snippets,我对W7-64上的yasnippet和Emacs 23.4.1有问题。我写了一篇博客,在使用Wordpress可视化编辑器时遇到了一些困难,我想看看用HTML编写所有内容并直接粘贴到Wordpress的HTML编辑器中是否更容易。因此,我使用令人印象深刻的yasnippet创建了以下内容: #contributor : blogger #name : blog picture link # -- <a href="http://verylongwebsitename.com/wp-cont

我对W7-64上的yasnippet和Emacs 23.4.1有问题。我写了一篇博客,在使用Wordpress可视化编辑器时遇到了一些困难,我想看看用HTML编写所有内容并直接粘贴到Wordpress的HTML编辑器中是否更容易。因此,我使用令人印象深刻的yasnippet创建了以下内容:

#contributor : blogger
#name : blog picture link
# --
<a href="http://verylongwebsitename.com/wp-content/uploads/2012/${1:mm}/${2:folder}/fig${3:x}_l.png"><img class="alignnone" title="fig$3" src="http://verylongwebsitename.com/wp-content/uploads/2012/$1/$2/fig$3_m.png" alt="${5:alttext}" width="${6:700}" height="${7:500}" /></a>$0
#贡献者:blogger
#名称:博客图片链接
# --
$0
要在html模式下输入长而精细的链接,请执行以下操作:

问题是在进入市场的过程中 片段很有趣,如下所示:

如果你看一看,你会发现yasnippet在每一行上都插入了很多空格,造成了很多丑陋和链接中断。由于单词的对齐方式,我怀疑这与yasnippet和tab设置之间的交互有关,但尽管有点纠结,我还是无法解决这个问题


有人能告诉我是什么原因造成的吗?

使用github最新的yasnippet对我很有效

# key : entry
# contributor : blogger
# name : blog picture link
# --
<a href="http://verylongwebsitename.com/wp-content/uploads/2012/${1:mm}/${2:folder}/fig${3:x}_l.png">
  <img class="alignnone"
   title="fig$3"
   src="http://verylongwebsitename.com/wp-content/uploads/2012/$1/$2/fig$3_m.png"
   alt="${5:alttext}"
   width="${6:700}"
   height="${7:500}"/>
</a>
$0
#键:输入
#投稿人:博主
#名称:博客图片链接
# --
$0

经过反复思考之后,我发现问题(很可能)在于Emacs的一种填充模式以一种奇怪的方式与yasnippet进行交互。具体地说,我把它设置为HTML模式下的“填充”,我显然需要的是“包装”。我的原始解决方案是创建一个键盘宏来切换模式,并将其分配给我的
.emacs
文件中的快捷键,如下所示:

(fset 'my-html-fill-setup
   [?\M-x ?a ?u ?t ?o ?- ?f ?i ?l ?l ?- ?m ?o ?d ?e return ?\M-x ?v ?i ?s ?u ?a ?l ?- ?l ?i ?n ?e ?- ?m ?o ?d ?e return])

(global-set-key "\C-x\C-k1" 'my-html-fill-setup)

对造成的任何混乱表示歉意。顺便说一句,在重新安装yasnippet后,我很喜欢它,发现它对各种事情都很有用。

对我来说,修复它的方法是禁用yasnippet中的缩进

(setq yas-indent-line (quote none))

按照回答中的建议,在代码段中添加行
#expand env:((yas/indent line'fixed))
是否也有帮助?谢谢您的建议。我在不同的配置中尝试了这两种方法,但似乎都没有任何效果。我有没有解决堆栈溢出的公共智能问题?!我感到一种奇怪的自豪感:-)这可能只是因为有关这一问题的专家们并没有在这样的场合露面。因此,您可以尝试一些yasnippet mailig列表。不过,请确保在此处发布任何解决方案。最好将此作为错误报告在,确保包含您正在使用的yasnippet版本。我想先试试git回购的最新版本。谢谢你,并为延迟道歉。一个原因是我做得不好,另一个原因是我设法使我的yasnippet安装失效,但无法再次运行。我赞赏这项建议;我以前从未尝试过从github安装任何东西-我想这只是一个下载。我去看看。