为了帮助您,我为您编写了代码片段,该代码片段完成了您所说的 html 的作用。您应该能够对其进行编辑以更改它,以便它执行您想要的操作,但如果所有工作都为您完成,那将不会很有趣;)。
我做的第一件事是定义从
"p*3>div*2"
至
<p>
<div>
</div>
<div>
</div>
</p>
<p>
<div>
</div>
<div>
</div>
</p>
<p>
<div>
</div>
<div>
</div>
</p>
该功能是:
(defun crushlist (my-list)
(if my-list
(let* ((elem (car my-list))
(char (first (split-string elem "*")))
(num (string-to-int(second (split-string elem "*")))))
(apply 'concat
(cl-loop for i from 1 to num
collect (concat "<" char ">
" (crushlist (cdr my-list)) "</" char ">
"))))
""))
然后片段是:
${1:$$(when yas-moving-away-p (move-beginning-of-line nil) (kill-line) (insert (crushlist (split-string yas-text ">"))))}
我觉得片段应该是:
${1:$$(when yas-moving-away-p (crushlist (split-string yas-text ">")))}
但这对我不起作用(如果你发现了,请告诉我!)
如果您对如何实现您的实际代码段有任何疑问,请给我留言,我会尽力提供帮助。