这里我仅仅提供dynamic文件夹里面的,common文件夹时间不能变,不适合我自己的习惯。
下面这行代码是显示日期用的,我们需要在template文件夹内建立一个datetime.sh的脚本,需提供它执行权限。具体为sudo chmod +x $HOME/.vim/template/datetime.sh.
因为我们把插件和模板都放在.vim文件内。
#!/bin/bash
# 将时间函数作为共享使用
datetime_zh()
{
WEEKDAYS=(星期日 星期一 星期二 星期三 星期四 星期五 星期六)
WEEKDAY=$(date +%w)
#DT="$(date +%Y年%m月%d日) ${WEEKDAYS[$WEEKDAY]}"
YY=$(date +%Y)
MN=$(date +%m)
DN=$(date +%d)
DT="$YY年$MN月$DN日 ${WEEKDAYS[$WEEKDAY]}"
echo "$DT"
}
datetime_zh
export datetime_zh
以下为dynamic文件夹里的模板文件,因为也是bash实现的,我们需要给它们执行权限。这里我只提供ext文件下的后缀匹配模板,全名匹配可以参考自己弄。一般都用不到的。
c类型的:
#!/bin/bash
# Generate template content for a c/c++ header file.
# usage: $0 <filename>
[ -z "$1" ] && exit 1
head_def=`echo __${1}__ | tr "a-z.-" "A-Z__"`
filename=`echo ${1}`
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
year=`date +%Y`
cat << EOF
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
#include<stdio.h>
EOF
cpp类型的:
#!/bin/bash
# Generate template content for a c/c++ header file.
# usage: $0 <filename>
[ -z "$1" ] && exit 1
head_def=`echo __${1}__ | tr "a-z.-" "A-Z__"`
filename=`echo ${1}`
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
year=`date +%Y`
cat << EOF
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
#include<iostream>
using namespace std;
EOF
#!/bin/bash
# Generate template content for a c/c++ header file.
# usage: $0 <filename>
[ -z "$1" ] && exit 1
head_def=`echo __${1}__ | tr "a-z.-" "A-Z__"`
filename=`echo ${1}`
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
year=`date +%Y`
cat << EOF
#ifndef $head_def
#define $head_def
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
#endif // #ifndef
EOF
hpp类型的:
#!/bin/bash
# Generate template content for a c/c++ header file.
# usage: $0 <filename>
[ -z "$1" ] && exit 1
head_def=`echo __${1}__ | tr "a-z.-" "A-Z__"`
filename=`echo ${1}`
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
year=`date +%Y`
cat << EOF
#ifndef $head_def
#define $head_def
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
#endif // #ifndef
EOF
html类型的:
#!/bin/bash
#用于python文件头生成
[ -z "$1" ] && exit 1
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
filename=`echo ${1}`
year=`date +%Y`
cat << EOF
<!--
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
</body>
</html>
EOF
py类型的:
#!/bin/bash
#用于python文件头生成
[ -z "$1" ] && exit 1
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
filename=`echo ${1}`
year=`date +%Y`
cat << EOF
#coding=utf-8
#********************************
# Copyright (C) $year All rights reserved.
# 文件名称:$filename
# 创 建 者:沈石伟
# 邮 箱:shenshiwei007@gmail.com
# 创建日期:$datetime
# 描 述:
#
# 更新日志:
#
#********************************
#!/usr/bin/env python
from pylab import *
myfont = matplotlib.font_manager.FontProperties(fname='/usr/share/fonts/truetype/wqy/wqy-microhei.ttc')
mpl.rcParams['axes.unicode_minus'] = False
EOF
#!/bin/bash
#用于python文件头生成
[ -z "$1" ] && exit 1
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
filename=`echo ${1}`
year=`date +%Y`
cat << EOF
#!/bin/bash
#################################################################################
# Copyright (C) $year All rights reserved.
# 文件名称:$filename
# 创 建 者:沈石伟
# 邮 箱:shenshiwei007@gmail.com
# 创建日期:$datetime
# 描 述:
#
# 更新日志:
#
#################################################################################
EOF
txt类型的:
#!/bin/bash
# Generate template content for a c/c++ header file.
# usage: $0 <filename>
[ -z "$1" ] && exit 1
head_def=`echo __${1}__ | tr "a-z.-" "A-Z__"`
filename=`echo ${1}`
date_path=$HOME'/.vim/template/dynamic'
datetime=`bash $date_path'/datetime.sh'`
year=`date +%Y`
cat << EOF
/********************************
* Copyright (C) $year All rights reserved.
* 文件名称:$filename
* 创 建 者:沈石伟
* 邮 箱:shenshiwei007@gmail.com
* 创建日期:$datetime
* 描 述:
*
* 更新日志:
*
********************************/
EOF
其实大多数的代码都是一样的,防止自己电脑那天坏掉了,直接全部就行了。所以我把所有代码都弄过来了。
因为我用python基本用在科学计算上,因为matplotlib显示中文乱码,需要设置字体。网上说的修改它的配置文件,还有转换字体,都没有成功过,只好使用这种方法了。