实现vim编写脚本时,自动加入文件头信息的两种方法

有时候编写脚本,我们希望它能自动的加载一些信息,如当前的日期、邮箱、作者、当前编写脚本的文件名等信息。实现这种效果的方法有很多,下面我介绍两种方法。先来看看实现后的效果:

实现vim编写脚本时,自动加入文件头信息的两种方法_第1张图片

实现vim编写脚本时,自动加入文件头信息的两种方法_第2张图片

第一种方法

编辑/etc/vimrc文件,在该文件后追加以下信息:

map  ms:call XYY()'s 
autocmd BufNewFile *.sh,*.script exec ":call XYY()"
function XYY()
call append(0,"##############################")
call append(1,"#Author:杨源                  ") 
call append(2,"#Create_Time:".strftime("%Y-%m-%d")."")
call append(3,"#Versios:1.0")
call append(4,"#Mail:[email protected]")
call append(5,"#Description:时光里的那缕风")
call append(6,"##############################")
call append(7,"#!/bin/bash")
endfunction

当您每次用vim编写一个以.sh或者.script结尾的文件的时候,他就会自动加载上注释信息了。对该文件的语法我懂的也不是很多,只能告诉您需要修改的地方。append函数的作用是,用“里面的信息”覆盖第几行(行号是从0开始,0代表第一行)。拿第二条来举例eg:call append(1,"#Author:杨源                  ")。该语法的解释是,调用系统函数append,用“#Author:杨源               ”的信息覆盖第二行。因为是注释信息,所以每一行的开头都是#号 。

您可以试一试效果了。

第二种方法

       用shell脚本来编写。对于经常用的脚本的路径我习惯性的保存在/etc/profile.d目录下。以下是我编写的脚本内容:

[root@mini1 app]# cat /etc/profile.d/shell.sh 
echo "#-----------------------------------------------------------------------" >> $1
echo " # 内核版本:`uname -r`" >> $1
echo " # 作    者:杨源" >> $1
echo " # 时    间:`date "+%F %T"`" >> $1
echo " # 文件名称:$1" >> $1
echo " # 版    本:1.1" >> $1
echo "#-----------------------------------------------------------------------" >> $1
echo >> $1
vim $1 +$

然后又设置了一个别名shell

[root@mini1 app]# alias shell
alias shell='. /etc/profile.d/shell.sh '

这样,我们就可以用别名shell创建脚本了,我们来创建一个i.sh脚本

[root@mini1 app]# shell i.sh
[root@mini1 app]# cat i.sh 
#-----------------------------------------------------------------------
 # 内核版本:3.10.0-1062.1.1.el7.x86_64
 # 作    者:杨源
 # 时    间:2019-09-30 03:26:36
 # 文件名称:i.sh
 # 版    本:1.1
#-----------------------------------------------------------------------

稍作解释:我们的这种方法相当于通过执行脚本的方法创建脚本。. /etc/profile.d/shell.sh i.sh:执行脚本shell.sh,i.sh作为第一个参数,我们将文件的头信息追加到 i.sh 文件。echo >> $1,添加一个空行。vim $1 +$,表示打开i.sh($1)文件时光标自动跳转到最后一行。

你可能感兴趣的:(实现vim编写脚本时,自动加入文件头信息的两种方法)