首页 > 代码库 > emacs下C/C++自动补全 之 使用Yasnippet模板补全 以自定义USACO模板为例

emacs下C/C++自动补全 之 使用Yasnippet模板补全 以自定义USACO模板为例

Emacs自动补全有许多插件,yasnippet是一个代码片段补全工具,可以用来补全大段的常用
的代码片段类似与mac上的textmate。


推荐安装方法为package-install


M-x list-packages找到yasnippet安装即可


然后在配置文件中加入:

(require 'yasnippet)
(yas/global-mode 1)

这样就安装完毕了,之后只要把自己定义跌片段放到.emacs.d/snippet/下的相应模式文件
夹下就好了,比如我想在c++-mode里使用我的usaco模板:


我就写如下的usaco模板:

# name: usaco ... { ... }
# key: usaco
# --
/*
ID:twd30651
PROG:${1:programname}
LANG:C++
*/
#include<iostream>
#include<fstream>
using namespace std;
int main(int argc,char *argv[])
{
    freopen("${1:$(yas-substr yas-text "[^: ]*")}.in","r",stdin);
    //freopen("${1:$(yas-substr yas-text "[^: ]*")}.out","w",stdout);
    $0
    return 0;
}

来张演示效果~~

技术分享

emacs下C/C++自动补全 之 使用Yasnippet模板补全 以自定义USACO模板为例