vim 自动添加作者、版权、修改时间等信息
相信大家阅读代码时都见过这样的文件头:
# THIS FILE IS PART OF LibreBoot PROJECT (归属)
# reboot.py - The core part of the reboot library (文件名和作用概述)
#
# THIS PROGRAM IS FREE SOFTWARE, BALABALA, IS LICENSED UNDER BALABALA
# YOU SHOULD HAVE RECEIVED A COPY OF WTFPL LICENSE, IF NOT, BALABALA (声明所使用的许可名称,通常许可证有要求)
#
# Copyright (c) 1989-2014 Pasta Spaghetti
# Copyright (c) 2014 RAmen Monster
作者:匿名用户
链接:https://www.zhihu.com/question/23070719/answer/31232599
来源:知乎
有什么用呢?
这样做当然是有很多好处啦:
- 声明自己的版权 
- 简单描述代码的功能 
- 声明文件的版本,方便其他人维护 
- 为文件负责,其他程序员发现问题时能找到沟通的人 - 试想,大家有没有拿到过别人的“祖传代码”,注释少、难以阅读还找不到对接人员,让不少程序员把时间浪费在了重复造轮子上。可是,如果专门去写这个文件头又会花掉额外的时间。那么,有没有一键生成文件头的神技呢?当然有啦,这就不得不祭出强大的vim编辑器了,它可以做到下面一样的操作: 
  
废话不多说,下面我们开始:
- 安装vim https://www.vim.org/download.php 下载对应系统的版本。 
- 打开配置文件vimrc - windows 在vim命令行输入:vsp $VIM\_vimrc
- linux 在vim命令行输入:vsp $VIM\.vimrc
 
- windows 在vim命令行输入
- 在vimrc文件中加入下面代码 - nmap <F6> ms:call TitleDet() <cr>'s
 "在文件中按F6调用
 function AddTitle()
 call append (0,"/*********************************************************************")
 call append (1," * Author : HolmeXin")
 call append (2," * Email : hx1076260997@outlook.com")
 call append (3," * Last modified : ".strftime("%Y-%m-%d %H:%M"))
 call append (4," * Filename : ".expand("%:t"))
 call append (5," * Description : ")
 call append (6," * ******************************************************************/")
 echohl WarningMsg | echo "Adding coryright Successfully !!" | echohl None
 endfunction
 "在上面代码中添加自己的版权信息
 function UpdateTitle()
 normal m'
 execute '/* Last modified\s*:/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@'
 normal ''
 normal mk
 execute '/* Filename\s*:/s@:.*$@\=": ".expand("%:t")@'
 execute "noh"
 normal 'k
 echohl WarningMsg | echo "Updating coryright Successfully !!" | echohl None
 endfunction
 function TitleDet()
 let n=1
 while n<7
 let line = getline(n)
 if line =~ '^\s*\*\s*Last\smodified\s*:\s*\S*.*$'
 call UpdateTitle()
 return
 endif
 let n = n+1
 endwhile
 call AddTitle()
 endfunction
 
OK,大功告成。
保存以后可以在自己文件中尝试。
尽管该功能有相应的插件,但对于我们来说安装插件相对Ctrl+c要麻烦一些,此处是该功能插件:http://www.vim.org/scripts/script.php?script_id=2902
后面还会陆续更新vim的一些技巧_
vim 自动添加作者、版权、修改时间等信息的更多相关文章
- vs2017 新建Class 文件时,自动添加作者版权声明注释
		1.用文本打开,在其头部加上 “C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTempl ... 
- vim文件时自动添加作者、时间、版权等信息
		在工作中,搞运维的工程师往往会编写或完善自动化脚本时,都会手动添加表头注释,例如版权声明.作用.时间等信息提示,如果每次都手动编辑添加会大大消耗时间,所有我们可以利用快捷方法来节省时间,一种是手动在家 ... 
- [linux] vim在源代码中自动添加作者信息(转载)
		原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ... 
- eclipse自动添加作者、日期等注释
		使用eclipse的时候一般会添加自己的注释,标注日期作者等内容,我总结的添加注释的方式有两种:一.在新建class时自动添加注释:二.通过快捷键自动添加注释.下面分别描述一下添加方式. 一.新建cl ... 
- Sublime2 DocBlocker插件在自动补全注释时输出自定义作者和当前时间等信息
		Sublime在进行前端开发时非常棒,当然也少不了众多的插件支持,DocBlocker是在Sublime平台上开发一款自动补全代码插件,支持JavaScript (including ES6), PH ... 
- vim自动添加tags、cscope
		每次打开一个工程都需要重新添加tags.cscope,很不方便,网上找了一下. 将其添加到 ~/.vimrc 中之后,打开 vim 就会自动搜索当前路径下的tags.cscope添加进去. 自动添加 ... 
- Vim 自动添加脚本头部信息
		每次写脚本还在为忘记添加头部信息啥的烦恼? 按照下面这么做,帮你减轻点烦恼. # 打开配置文件: vim /root/.vimrc # 添加如下信息: autocmd BufNewFile *.sh ... 
- EF Core3.1  CodeFirst动态自动添加表和字段的描述信息
		前言 我又来啦.. 本篇主要记录如何针对CodeFirst做自动添加描述的扩展 为什么要用这个呢.. 因为EF Core3.1 CodeFirst 对于自动添加描述这块 只有少部分的数据库支持.. 然 ... 
- Pycharm---新建文件时 自动添加作者时间等信息
		可用的变量有: $ {PROJECT_NAME} - 当前项目的名称. $ {NAME} - 在文件创建过程中在“新建文件”对话框中指定的新文件的名称. $ {USER} - 当前用户的登录名. $ ... 
随机推荐
- 剖析ElasticSearch核心概念,NRT,索引,分片,副本等
			ElasticSearch 的核心概念 Near RealTime(NRT) 近实时 近实时有两种意思,一种是从写入数据到可以被搜索到有一个小延迟(大概一秒),还有一种就是基于ElasticSearc ... 
- webview之学习文章(待续)
			webview与js交互: Tencent/VasSonic(缓存优化方案) lzyzsd/JsBridge: pengwei1024/JsBridge: -----webview的框架 TheFin ... 
- 国家码和reginCode映射关系
			import org.apache.commons.lang.StringUtils; import java.util.HashMap; import java.util.Map; public c ... 
- Unity  Input,生命周期,Light,获取组件
			1. 递归方法遍历获取指定子物体 知识点:递归的使用:transform.childCount.GetChild(index) 2. Input输入控制类,检测玩家输入 知识点: Input ... 
- About Gnu Linker1
			1 OverView ld combines a number of object and archive files, relocates their data and ties up symbol ... 
- Highcharts绘制曲线图小结
			Higcharts绘制曲线图很好用! 虽然说Highcharts官网有API 刚接触这个领域,学有心得,理解不到位之处希望大家多多指教! 项目绘制的曲线是:平均水位随时间的变化而改变的水情走势图. 主 ... 
- 排错技能:任务管理器中追踪某w3wp.exe是哪个IIS站点的application pool
			如果Windows的任务管理器中发现某个w3wp.exe占用了100%CPU,那我们就要揪出这是那个网站的application pool在作怪, 首先,每个站点一定要单独使用各自的applicati ... 
- 开发环境 pyenv
			pyeny githup地址:https://github.com/pyenv/pyenv/ 安装时使用pyeny提供安装工具进行安装 githup 地址:https://github.com/pye ... 
- React高级指引
			深入JSX 本质上来讲,JSX是为React.createElement方法提供的语法糖 <MyButton color=}> Click Me </MyButton> 编译为 ... 
- php 跨域问题 解决办法
			php 跨域问题的解决主要有两步: 本人使用的是 windows下的 phpstudy的集成环境 1.修改服务器配置文件 在 apache 的配置文件 D:\phpStudy\Apache\con ... 
