zoukankan      html  css  js  c++  java
  • vim 一键添加文件头注释

    还是照例,先贴个图给大家解解馋:

    好啦,现在贴出代码如下:

     1 "进行版权声明的设置
     2 "添加或更新头
     3 map <F4> :call TitleDet()<cr>'s
     4 function AddTitle()
     5     call append(0,"/*=============================================================================")
     6     call append(1,"#")
     7     call append(2,"# Author: dantezhu - dantezhu@vip.qq.com")
     8     call append(3,"#")
     9     call append(4,"# QQ : 327775604")
    10     call append(5,"#")
    11     call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    12     call append(7,"#")
    13     call append(8,"# Filename: ".expand("%:t"))
    14     call append(9,"#")
    15     call append(10,"# Description: ")
    16     call append(11,"#")
    17     call append(12,"=============================================================================*/")
    18     echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
    19 endf
    20 "更新最近修改时间和文件名
    21 function UpdateTitle()
    22     normal m'
    23     execute '/# *Last modified:/s@:.*$@=strftime(":	%Y-%m-%d %H:%M")@'
    24     normal ''
    25     normal mk
    26     execute '/# *Filename:/s@:.*$@=":		".expand("%:t")@'
    27     execute "noh"
    28     normal 'k
    29     echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
    30 endfunction
    31 "判断前10行代码里面,是否有Last modified这个单词,
    32 "如果没有的话,代表没有添加过作者信息,需要新添加;
    33 "如果有的话,那么只需要更新即可
    34 function TitleDet()
    35     let n=1
    36     "默认为添加
    37     while n < 10
    38         let line = getline(n)
    39         if line =~ '^#s*S*Lastsmodified:S*.*$'
    40             call UpdateTitle()
    41             return
    42         endif
    43         let n = n + 1
    44     endwhile
    45     call AddTitle()
    46 endfunction

    这段代码在linux和windows下(vim/gvim)均可运行正常。
    不知道大家看懂了没有,实际上在一个C/C++/C#/JAVA文件中,只需要按下F4,那么信息就自动给你添加到文件开头啦;如果已经存在版权信息,那么vim会帮你自动更新到最新状态。
    另外还要帮大家提到一个小细节,即

    1
    2
    
    normal m'
    normal ''

    这两行,他们实际上是调用了vim(gvim)内置的标记位置的方法,在执行完相应操作之后,又跳回到原来的位置。所以当用F4添加/更新作者信息的时候,不用担心光标的位置会被移动啦~~
    好啦,在自己的Vim里面试一下吧,是不是比原来方便了很多啊,有用的话要记得请我吃饭啊~~哈哈

    references:http://www.cnblogs.com/mfryf/p/3643349.html

  • 相关阅读:
    Blazor使用Chrome远程调试
    Blazor登录Ids4
    Jenkins + Coding 构建 Docker Image 并自动上传至Docker Registry
    EFK 数据生命周期
    EFK (Elasticsearch + Fluentd + Kibana) 日志分析系统
    通过Nginx代理Grafana,并通过域名访问
    Prometheus搜集mysql和nginx log指标
    java 线程相关(4)
    java 并发相关(5)
    java 线程相关(3)
  • 原文地址:https://www.cnblogs.com/hangaozu/p/7542948.html
Copyright © 2011-2022 走看看