Emacs:yasnippet在code-snippet中插入空格的问题

时间:2012-02-24 11:09:10

标签: 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-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

在html-mode中输入如下所示的冗长链接:

问题是在进入过程中的某个时刻 片段很有趣,像这样:

misbehaving yasnippet

如果你看,你可以看到yasnippet在每一行上插入了许多空格,造成了很多丑陋和链接断开。由于单词排列方式的对齐方式,我怀疑它与yasnippet和tab设置之间的交互有关,但是尽管有点搔痒我无法解决问题。

有人可以提出可能导致这种情况的原因吗?

3 个答案:

答案 0 :(得分:3)

对我来说,修复它的原因是禁用Yasnippet中的缩进。

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

答案 1 :(得分:0)

使用来自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

答案 2 :(得分:0)

经过多次搞乱后,我发现问题(很可能)是一个问题,其中一个Emacs的填充模式以奇怪的方式与yasnippet交互。具体来说,我把它设置为HTML模式中的“填充”,我显然需要的是“Wrap”。我的原始解决方案是创建一个键盘宏来切换模式并将其分配给我的.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之后,我很喜欢它,并发现它对各种各样的东西非常有用。