vim中自动添加作者时间等信息

如果每次在写脚本的时候给脚本加注释挺烦人的,尤其是用英文写注释的时候,但是养成写注释的习惯,对日后脚本的维护还是很有帮助的,

一般脚本的开头会注明编写时间,版本,用途等说明。

VIM  里面能够使用映射(map)来帮您 自动 插入这些信息,就像下面这样
#****************************************************
#         Author: 304449075@qq.com
#  Last modified: 2007-08-10 21:19
#       Filename: /etc/vimrc
#    Description: Configuration for  vim  editor
#****************************************************
其中 Last modified 后面的时间是根据当前时间 自动 插入的,Filename 后的文档名也是当前编辑的文档名。
我们的目的是在 VIM 的命令模式下面, 自动 在文档的开头插入上面的信息
为了方便,先定义一个函数
function AddTitle()
call setline(1,"#****************************************************")
call append(1,"#         Author: qq304449075@qq.com")
call append(2,"#  " . "Last modified: " . strftime("%Y-%m-%d %H:%M"))
call append(3,"#       Filename: " . expand("%"))
call append(4,"#    Description: ")
call append(5,"#****************************************************")
endf
函数用 function 关键字开头,函数名的第一个字母需要大写
setline 表示在第一行插入 #******** 
append 表示追加行,expand表示展开变量的值,%代表文档名,strftime 表示当前时间
然后定义 map 规则:
map fuck :call AddTitle():$o
表示按键,表示回车,上面的指令的意思是在文档开头加入 注释 ,然后跳到文档末尾,进入输入模式。
OK,很简单吧~~~~~~ 
好,当您对一个脚本修改后,需要更新 Last modified 时间怎么办,手动吗?当然不用这么麻烦~~~~ 
同样能够指定一个 map 规则,比如 shit
map shit :/# *Last modified: /s@:.*$@/=strftime(": %Y-%m-%d %H:%M")@
让我们一步一步分析上面规则的意思:
/# *Last modified: / 表示查找以 # 开头,后面跟上一些空格,然后是 Last modified: 的行,也就是上面插入 注释 的第2行
s@....@@ 表示替换
第一个 @....@ 中间的内容,表示原来的时间,
第二个 @....@ 是新的当前时间,由于这个时间是动态的,需要调用函数,故在@后需要用 /= 来告诉 s 命令
/= 后面的代码是个表达式,其值就是当前时间
最后一个  代表回车,也就是执行这个替换操作
VIM 自动 行首插入 注释 ,假如下次您修改了文档, 注释 中的最后更改时间则会 自动 同步到当前时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值