Emacs 中使用 Snippet 快速编写模板代码
文章目录
前言
今天要来介绍一下 Snippet ,也就是代码片段。
它可以快速插入常用的、复杂的具有一定规律的模板代码,提高编写效率。
yasnippet
在 Emacs 中使用 Snippet 需要安装 yasnippet 这个插件。
以 use-package 包管理器为例,可使用如下代码进行安装
|
|
上面的代码在 prog-mode 和 org-mode 中会启用 yasnippet 功能,这时可以 TAB 展开代码片段。
当然也可以全局启用
|
|
第三方模板
安装好了还不能使用,因为这时候缺少模板。
不过好在有一个三方库AndreaCrotti/yasnippet-snippets: a collection of yasnippet snippets for many languages帮我们做了编写模板的工作。
这个库里有大量的模板,包含常见的语言,我大概数了一下有 100 多种语言。
要使用这个模板也是非常简单,只需要安装就行了
|
|
使用
我们以 Python 为例,新建一个 test.py ,里面只输入 np ,如下所示
|
|
然后按下 TAB 就会展开 snippet 中的代码,展开后如下所示
|
|
再来一个好玩一点的,我们以导入包为例
Python 中导入包里的模块使用 from xxx import xxx
在 Emacs 中只需要输入 from ,然后你只需要输入包和要导入的模块即可。
光标会在 from 和 import 之间跳转,这样你就只需要输入包和模块就行了。

这些关键字都可以在AndreaCrotti/yasnippet-snippets: a collection of yasnippet snippets for many languages这个仓库的 snippets/对应语言 这个目录下找到。
总结
Snippet 对我们提高编码效率作用还是很大的,熟练之后用起来非常方便。
下一次讲一下如何自定义 Snippet ,因为别人写的并不一定能满足我们的需要。
完整配置
|
|