带有 emacs 的代码模板

rah*_*hmu 5 emacs

如何配置emacs以生成一些代码框架?

例如,对于 C 文件:

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv) {

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

或者在 Python 中更动态的东西:

#!<insert result of `which python` here>

def main():

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

我想定义 2 种插入模板的模式:

  • 创建一个函数insert-template(或其他东西),将其绑定到某个组合键 ( C-c C-t),该组合键将根据主要模式插入正确的模板。

  • 创建一个选项以在文件创建时自动插入模板,通过文件名后缀检测正确的类型(类似于检测主模式的方式)。这个选项应该很容易在.emacs文件中打开/关闭。

理想情况下,我想避免使用 3rd 方模块/包。但我并不完全反对。

Ale*_*ios 2

如果第三方 emacs 模式已经存在,为什么要避免它们呢?EmacsWiki有一个很长的列表可以解决您的问题。其中,abbrev-mode已经伴随我们数十年了。它可以被非常温和地滥用来完成您需要的事情。auto-insert-mode更好,并且是 emacs 的一部分。

\n\n

我怀疑您可能需要编写一点 emacs Lisp 来搜索 Python(或其他任何)解释器二进制文件的路径。

\n\n

甚至还有功能强大的选项(查看 EmascWiki 页面 \xe2\x80\x94 ,那里一定有一个可以满足您的所有需求)

\n