我写了一个 letn
# -*- coding: utf-8; mode: snippet -*-
# contributor: [email protected]
# name: let with N var-val forms
# key: letn
# type: command
# --
(let ((yas-good-grace nil)
(forms '()))
(while (let ((form (read-string (format "form%d (RET to submit): " (1+ (length forms))))))
(unless (string-blank-p form)
(push form forms))))
(yas-expand-snippet
(concat "(let ("
(s-join "\n" (reverse forms))
")\n$0)")))
在 minibuffer 输入不定个 var-val 对,每输入一对,以回车作为结束,开始输入下一对,最后回车提交空白,跳转光标到 body。