相信大家阅读代码时都见过这样的文件头:

# 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编辑器了,它可以做到下面一样的操作:

废话不多说,下面我们开始:

  1. 安装vim https://www.vim.org/download.php 下载对应系统的版本。

  2. 打开配置文件vimrc

    • windows 在vim命令行输入:vsp $VIM\_vimrc
    • linux 在vim命令行输入:vsp $VIM\.vimrc
  3. 在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 自动添加作者、版权、修改时间等信息的更多相关文章

  1. vs2017 新建Class 文件时,自动添加作者版权声明注释

    1.用文本打开,在其头部加上 “C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTempl ...

  2. vim文件时自动添加作者、时间、版权等信息

    在工作中,搞运维的工程师往往会编写或完善自动化脚本时,都会手动添加表头注释,例如版权声明.作用.时间等信息提示,如果每次都手动编辑添加会大大消耗时间,所有我们可以利用快捷方法来节省时间,一种是手动在家 ...

  3. [linux] vim在源代码中自动添加作者信息(转载)

    原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...

  4. eclipse自动添加作者、日期等注释

    使用eclipse的时候一般会添加自己的注释,标注日期作者等内容,我总结的添加注释的方式有两种:一.在新建class时自动添加注释:二.通过快捷键自动添加注释.下面分别描述一下添加方式. 一.新建cl ...

  5. Sublime2 DocBlocker插件在自动补全注释时输出自定义作者和当前时间等信息

    Sublime在进行前端开发时非常棒,当然也少不了众多的插件支持,DocBlocker是在Sublime平台上开发一款自动补全代码插件,支持JavaScript (including ES6), PH ...

  6. vim自动添加tags、cscope

    每次打开一个工程都需要重新添加tags.cscope,很不方便,网上找了一下. 将其添加到 ~/.vimrc 中之后,打开 vim 就会自动搜索当前路径下的tags.cscope添加进去. 自动添加 ...

  7. Vim 自动添加脚本头部信息

    每次写脚本还在为忘记添加头部信息啥的烦恼? 按照下面这么做,帮你减轻点烦恼. # 打开配置文件: vim /root/.vimrc # 添加如下信息: autocmd BufNewFile *.sh ...

  8. EF Core3.1 CodeFirst动态自动添加表和字段的描述信息

    前言 我又来啦.. 本篇主要记录如何针对CodeFirst做自动添加描述的扩展 为什么要用这个呢.. 因为EF Core3.1 CodeFirst 对于自动添加描述这块 只有少部分的数据库支持.. 然 ...

  9. Pycharm---新建文件时 自动添加作者时间等信息

    可用的变量有: $ {PROJECT_NAME} - 当前项目的名称. $ {NAME} - 在文件创建过程中在“新建文件”对话框中指定的新文件的名称. $ {USER} - 当前用户的登录名. $ ...

随机推荐

  1. Ubuntu14.04安装 ROS 安装步骤和问题总结

    参考: 1.http://wiki.ros.org/indigo/Installation/Ubuntu 2.安装出现依赖库问题: https://answers.ros.org/question/3 ...

  2. EL表达式取Map,List值的总结

    EL表达式取Map中的值:后台action 中: Map map = new HashMap(); map.put(key1,value1); map.put(key2,value2); map.pu ...

  3. 如何让SQLServer的 itemNum 字段 按照数字大小顺序排序

    我的 itemNum 从1到20,可是超过了SQLServer的默认排序这样的1101112...19234567如何才能让排序成为这样1234567891011.. . 解决办法:因为 itemNu ...

  4. Windows下搭建Python虚拟环境

    一.安装使用 virtualenv 1. 安装 virtualenv pip install virtualenv 2. 新建虚拟环境 virtualenv env1 用 Python3 创建虚拟环境 ...

  5. php生成带参数二维码

    1.PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo, https://sourceforge.net/projects/phpqrcode/ ...

  6. Flex 布局的教程

    前言:以前也经常用flex布局,但是最近看到别人使用的时候,发觉以前自己还是不够理解这个,重新看了一遍http://www.ruanyifeng.com/blog/2015/07/flex-gramm ...

  7. python中令人惊艳的小众数据科学库

    Python是门很神奇的语言,历经时间和实践检验,受到开发者和数据科学家一致好评,目前已经是全世界发展最好的编程语言之一.简单易用,完整而庞大的第三方库生态圈,使得Python成为编程小白和高级工程师 ...

  8. 正确的学python方式

    首先呢,和其他的各种学习都一样,你一定要明白你学习的目标是什么.有的人想要通过学习Python,转行成程序员,实现行业上的转变:有的人希望通过学习Python,在现有的岗位上提升自己:当然也有很多人只 ...

  9. 如何快速扫描C段(网站快照、后台识别/登录、目录扫描)

    1.C段扫描 C类地址范围从 192.0.0.1 到 223.255.255.254 ,192转换成二进制就是1100000:223转换成二进制就是1101111:所以说网络地址的最高位肯定是110开 ...

  10. 【学习】python文件读写,用with open as的好处,非常好【转载】

    原文链接:http://www.cnblogs.com/ymjyqsx/p/6554817.html 备注:博主还有很多值得学习的笔记,遇到问题可以拜读,非常感谢博主的总结 读写文件是最常见的IO操作 ...