关于 tempel 如何实现这个效果

GitHub - minad/tempel: 🏛 TempEl - Simple templates for Emacs 使用了这个包 看文档 基础操作会写了

想问下这个效果要怎么实现

换行后自动生成 类似\item 在换行 还能生成

折腾的好久没搞定 请教一下

在auctex里直接用 M-RET 就可以

就是说这东西不是模板特性 而是语言层面的吗?

我印象中模板都是固定的,添加新的段落要通过其他函数(比如这里的 LaTeX-insert-item)。不过我没用过tempel或者yas的高级用法,所以我也不确定。

明白了 想要动态模板 可能还需要骚操作

这个案例是需要配合 latex-mode 的 latex-insert-iterm 命令(一般绑定在快捷键 M-RET上)协同使用的。

方法是在 tempel 模版文件的 latex-mode 项目下面添加:

(test "\\begin{" (s name) "}" r n "\\end{" (s name) "}" n)

保存模版文件

新建文件,切入 latex-mode,输入模版名称test,召唤 tempel-complete,会自动生成\begin{}\end{},此时键入大括号内的文本:

SCR-20231026-kbay

然后按 M-} 执行 tempel-next,再按 M-RET,调用 latex-mode 插入\item项目的命令,然后逐项填写item后面的文本:

SCR-20231026-kbmy

全部弄完之后,再次执行 tempel-next,光标会跳到末尾,然后执行 tempel-done,完成编辑

SCR-20231026-kdcp

2 个赞

恩 懂了是我理解错了 我以为可以动态模板 结果中间的部分是语言提供的