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} - 当前用户的登录名. $ ...
随机推荐
- [UE4]Grab抓取
一.关键函数:AttachToCompoent,将要抓取的物品附加到角色手上,让物品跟随手移动,开起来就像是抓取在手里了. 二.取消模拟物理.在开启模拟物理的情况下,AttachToCompoent是 ...
- html字体加大标签与写法介绍
在html中字体加大的标签为<big>,一般用于重要文字,醒目文字,让用户容易看到! 字体加大: <big>写上你想写的字</big> 效果:未加大 加大 效果中 ...
- 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题
今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和clas ...
- ubuntu16安装dhcp server
目录 操作命令 apt-get install -y isc-dhcp-server vi /etc/default/isc-dhcp-server 我的修改内容为INTERFACES="e ...
- Python for循环之图像练习
矩形 # 控制行 for i in range(1,5): # 控制列 for j in range(1,8): # 用end在末尾传入空格串,这样print函数就不会自动换行了 print('*', ...
- Python Excel 多sheet 多条数据 自定义写入
pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的轮子. (150+++++++++++++++++++++++++++ ...
- 未能加载文件或程序集“Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项。系统找不到制定的文件。
未能加载文件或程序集"Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e ...
- php中一个"异类"语法: $a && $b = $c; 【转载】
$a = 1;$b = 2;$c = 3;$a && $b = $c;echo "a:$a";echo "b:$b";echo "c: ...
- Linux如何查看端口
Linux如何查看端口 1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # lsof -i:8000 COMMAND PID USER ...
- Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块
专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...