首页 > 技术文章 > linux基础之vi编辑器设置文件模板

risesource 2019-12-25 15:31 原文

我们在写程序时,可能有这种需要,每次都要重复写某个东西。
在写c程序时候,经常写如下:

#include <stdio.h>

int main(int argv, char *argv[])
{

    return 0;
}

这样,使用vi的模板,很方便

  • 1.创建模板
linux@ubuntu:~$ cd /usr/share/vim/vimfiles
linux@ubuntu:/usr/share/vim/vimfiles$ sudo touch c_template.c
linux@ubuntu:/usr/share/vim/vimfiles$ ls
c_template.c  gvimrc  vimrc  vimrc.tiny

我用到"*.c"文件,直接在c_template.c中加入一些内容

linux@ubuntu:/usr/share/vim/vimfiles$ sudo vi c_template.c
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

//入口函数
static int __init gec6816_led_init (void)
{
    printk ("gec6816_led_init\r\n");

    return 0;
}

//出口函数
static void __exit gec6818_led_exit (void)
{
    printk ("gec6818_led_exit\r\n");
}

//驱动程序的入口:insmod led_drv.ko调用module_init,module_init又会去调用gec6818_led_init。
module_init (gec6816_led_init);
//驱动程序的出口:rmmod led_drv.ko调用module_exit,module_exit又会去调用gec6818_led_exit。
module_exit (gec6818_led_exit);

//模块描述
//作则信息
MODULE_AUTHOR("pxysource@gec");
//模块功能描述
MODULE_DESCRIPTION("gec6818 led driver");
//模块许可证类型
MODULE_LICENSE("GPL");                                                               

保存并退出

  • 2.修改vi配置文件
linux@ubuntu:/usr/share/vim/vimfiles$ sudo vi vimrc

在最后面加上一句

"c template
autocmd BufNewFile *.c 0r /usr/share/vim/vimfiles/c_template.c

保存并退出

  • 3.新建一个test.c文件
linux@ubuntu:~$ vi 1.c

如下:模板导入成功

#include <linux/init.h>
  2 #include <linux/kernel.h>
  3 #include <linux/module.h>
  4 
  5 //入口函数
  6 static int __init gec6816_led_init (void)
  7 {
  8     printk ("gec6816_led_init\r\n");
  9 
 10     return 0;
 11 }
 12 
 13 //出口函数
 14 static void __exit gec6818_led_exit (void)
 15 {
 16     printk ("gec6818_led_exit\r\n");
 17 }
 18 
 19 //驱动程序的入口:insmod led_drv.ko调用module_init,module_init又会去调用gec6818_led_init。
 20 module_init (gec6816_led_init);
 21 //驱动程序的出口:rmmod led_drv.ko调用module_exit,module_exit又会去调用gec6818_led_exit。
 22 module_exit (gec6818_led_exit);
 23 
 24 //模块描述
 25 //作则信息
 26 MODULE_AUTHOR("pxysource@gec");
 27 //模块功能描述
 28 MODULE_DESCRIPTION("gec6818 led driver");
 29 //模块许可证类型
 30 MODULE_LICENSE("GPL");
 31 
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
~                                                                                                                                                                    
"/usr/share/vim/vimfiles/c_template.c" 30L, 741C                                                                                                   1,1           All

其他文件类似修改就行

推荐阅读