gpt4 book ai didi

c++ - 如何为文本模板创建 emacs 宏

转载 作者:行者123 更新时间:2023-11-28 03:12:09 25 4
gpt4 key购买 nike

我是 lisp 的新手,我无法弄清楚如何在 emacs 中创建具有以下功能的宏:假设我厌倦了在 c++ 中为 for 循环编写模式:

for (int i = 0; i < N; i++) {

}

调用此宏“forloop”然后我想执行以下操作:当我键入“M-x forloop”时宏打印出来

for (int 

在缓冲区中并等待输入。然后我输入“i”并回车,之后宏继续并打印

for (int i = 0; i < 

然后再次等待输入。最后,在我输入“N”并点击返回后,宏通过打印其余部分完成:

for (int i = 0; i < N; i++) {

}

经过广泛的阅读和测试,我能够编写简单的 lisp 函数,创建我自己的宏,保存它们并调用它们等等......但我仍然不太清楚如何制作一个宏做我上面描述的事情。任何想法将不胜感激!提前致谢!

像这样的宏对于加速任何语言的编码都非常有用。我希望宏按照描述的方式是动态的,这样您就不必记住它需要多少个参数以及调用它时它们的顺序。

最佳答案

我为此使用 yasnippet ( http://www.emacswiki.org/emacs/Yasnippet ),但还有很多其他解决方案。

在 yasnippet 中,您为您的代码片段键入一个关键字(例如 for),然后键入 yasnippet 快捷键,然后您有要填写的字段,使用制表符从一个字段转到下一个字段。

每个片段都定义在一些易于学习的 DSL 中的自己的文件中。

关于c++ - 如何为文本模板创建 emacs 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com