使用vim脚本来实现的,使用了模板,几行代码就能实现很实用。


~/.vimrc 中的代码
  1. "auto add pyhton header --start
  2. autocmd BufNewFile *.py 0r ~/.vim/vim_template/vim_pyhton_header
  3. autocmd BufNewFile *.py ks|call FileName()|'s
  4. autocmd BufNewFile *.py ks|call CreatedTime()|'s
  5.  
  6. fun FileName()
  7. if line("$") > 10
  8. let l = 10 "这里是字母L 不是数字1
  9. else
  10. let l = line("$")
  11. endif
  12. exe "1," . l . "g/File Name:.*/s/File Name:.*/File Name: " .expand("%")
  13. "最前面是数字1,这里的File Name: 要和模板中一致
  14. endfun
  15.  
  16. fun CreatedTime()
  17. if line("$") > 10
  18. let l = 10
  19. else
  20. let l = line("$")
  21. endif
  22. exe "1," . l . "g/Created Time:.*/s/Created Time:.*/Created Time: " .strftime("%Y-%m-%d %T")
  23. "这里Create Time: 要和模板中一致
  24. endfun
  25. "auto add python header --end

模板代码 文件为~/.vim/vim_template/vim_pyhton_header
  1. #!/usr/bin/python
  2. #-*- coding:utf-8 -*-
  3. ############################
  4. #File Name:
  5. #Author: orangleliu
  6. #Mail: orangleliu@gmail.com
  7. #Created Time:
  8. ############################

说明
1 模板路径要一致
2 不要忘了保持 .vimrc中替换标签名称和模板中一致 例如  Create Time:

测试结果
  1. lzz@ubuntu:~$ vim c.py
  2. lzz@ubuntu:~$ cat c.py
  3. #!/usr/bin/python
  4. #-*- coding:utf-8 -*-
  5. ############################
  6. #File Name: c.py
  7. #Author: orangleliu
  8. #Mail: orangleliu@gmail.com
  9. #Created Time: 2014-12-11 20:16:33
  10. ############################

其他语言也可以类似的编程,这样就不用每次都在代码开头写各种头文件啊,协议啊,作者,日期啥的了。



[Vim]新建python文件自动添加python header的更多相关文章

  1. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义

    Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...

  2. VIM编辑新文件自动添加头文件信息

    把如下文件直接贴到root目录下,在编辑新文件的时候显示自定义信息. root@shenlan-qianlan:/home/python/day1# vim shenlanqianlan.sh #!/ ...

  3. sublime 设置新建文件自动添加author(作者)等文件头信息

    很多时候, sublime 自带自动添加文件头信息, 但是并不是我们想要比如下面这样的:新建一个python文件 自动添加的author 信息== 上面并不是我想要的, 我想要下面这样的效果:== 这 ...

  4. 文件参数化-utp框架之根据yaml文件自动生成python文件+utp运行用例

    根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的p ...

  5. 将python文件加入到python的环境变量中

    在python中,把一个python文件加入到python环境变量中,以方便其他python文件调用.有两种方式,下面对其进行简单的介绍 方式一: 导入系统自带的sys模块,然后将文件的路径进行追加或 ...

  6. 为js和css文件自动添加版本号

    web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服 ...

  7. 用vim打开.py和.sh文件自动添加头

    在~/.vimrc文件最后一行添加 "auto add pyhton header --start autocmd BufNewFile *.py 0r ~/.vim/template/py ...

  8. Pycharm 设置python文件自动生成头部信息模板

    设置头部信息路径: 打开File—Settings—Editor—File and Code Templates—Python Script 输入要自动生成的头部信息模板 这样,新建py文件就会自动生 ...

  9. C# 在类文件自动添加文件注释的方法

    对于vs2013来讲, 步骤: 1.VS2013 中找到(安装盘符以C盘为例)C:\ProgramFiles(x86)\Microsoft VisualStudio12.0\Common7\IDE\I ...

随机推荐

  1. 迎圣诞,拿大奖活动赛题_SQLi(sprintf格式化字符)

    看题目应该就是注入没跑了 先拿正常输入试试,输了admin,admin,结果返回password error!,说明还真的存在admin账户 拿常规注入语句试探一下admin' and 1=1%23, ...

  2. [HNOI 2004]树的计数

    Description 一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, …, dn,编程需要 ...

  3. codefroces 946G Almost Increasing Array

    Description给你一个长度为$n$的序列$A$.现在准许你删除任意一个数,删除之后需要修改最小的次数使序列单调递增.问最小次数.$1≤n≤200000$ExamplesInput55 4 3 ...

  4. 【tyvj】刷题记录(1001~1099)(64/99)

    1001:排序完按照题意做即可. #include<cstdio> #include<iostream> #include<cmath> #include<a ...

  5. HDU 6107 Typesetting

    Problem Description Yellowstar is writing an article that contains N words and 1 picture, and the i- ...

  6. 51Nod 1125 交换机器的最小代价

    题目描述: 有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增.移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和.例如:3 2 1,交换1 ...

  7. hdu 5468(莫比乌斯+搜索)

    hdu 5468 Puzzled Elena   /*快速通道*/ Sample Input 5 1 2 1 3 2 4 2 5 6 2 3 4 5   Sample Output Case #1: ...

  8. springmvc上传文件方法及注意事项

    本文基于注解的配置,敬请留意  基于注解整合 一.springmvc为我们提供两种上传方式配置: org.springframework.web.multipart.commons.CommonsMu ...

  9. 修改firefox的默认缩放比

    我们在使用firefox时,发现页面的缩放比只能一个一个手动调整,当跳转到新的页面时默认缩放比又还原了,这个时候又要重新调整,相当不方便. 下面介绍修改默认缩放比的方法: 首先,打开firefox,然 ...

  10. jquery 跨域请求数据问题

    昨天参加了一个前端的面试,被问到一个跨域请求数据问题,我们之前一直用的是apicloud的api进行请求的,跨域是被apicloud封装起来的,也就没有注意跨域请求数据的问题.当被问到用jquery跨 ...