Vim 配置文件 并生成 注释文件头部

set nu
"设置行号
set mouse=a
"设置鼠标可以随意移动
syntax on
"语法高
set hlsearch  
" 搜索时高亮显示被找到的文本
"set showmatch
"显示括号配对情况
set shiftwidth=4
set softtabstop=4
"统一缩进为4
set tabstop=4
"tab键的宽度为4
set noautoindent
"自动缩进
set clipboard+=unnamed
"与windows共享剪切板
set cindent
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
set nocompatible
filetype plugin indent on

"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetComment()
"如果文件类型为.sh文件
    if &filetype == 'sh'
        call setline(1,"\####################################################")
        call append(line("."), "\# Copyright (C) ".strftime("%Y") ." ==GENG ALLEN== All rights reserved.")
        call append(line(".")+1, "\# File Name: ".expand("%"))
        call append(line(".")+2, "\# Author: ALLEN GENG")
        call append(line(".")+3, "\# mail:genglei1022@126.com")
        call append(line(".")+4, "\#Created Time:".strftime("%c"))
        call append(line(".")+5,"\####################################################")
        call append(line(".")+6,"\#!/bin/bash")
        call append(line(".")+7,"")
    else
        call setline(1, "/***************************************************")
        call append(line("."), "> Copyright (C) ".strftime("%Y") ." ==GENG ALLEN== All rights reserved.")
        call append(line(".")+1, "> File Name: ".expand("%"))
        call append(line(".")+2, "> Author: ALLEN GENG")
        call append(line(".")+3, "> Mail:genglei1022@126.com ")
        call append(line(".")+4, "> Created Time: ".strftime("%c"))
        call append(line(".")+5, "***************************************************/")
        call append(line(".")+6, "")
    endif
endfunc

func SetTitle()
    call SetComment()
    if expand("%:e") == 'h'
        call append(line(".")+7, "#ifndef _".toupper(expand("%:t:r"))."_H_")
        call append(line(".")+8, "#define _".toupper(expand("%:t:r"))."_H_")
        call append(line(".")+9, "")
        call append(line(".")+10, "#endif")
    elseif expand("%:e") == 'c'
        call append(line(".")+7, "#include <stdio.h>")
        call append(line(".")+8, "")
        call append(line(".")+9, "int main(int argc,const char* argv[])")
        call append(line(".")+10, "{")
        call append(line(".")+11, "")
        call append(line(".")+12, "    return 0;")
        call append(line(".")+13, "}")
    elseif expand("%:e") == 'cpp'
        call append(line(".")+7, "#include <iostream>")
        call append(line(".")+8, "")
        call append(line(".")+9, "using namespace std;")
        call append(line(".")+10, "int main(int argc,const char* argv[])")
        call append(line(".")+11, "{")
        call append(line(".")+12, "")
        call append(line(".")+13, "    return 0;")
        call append(line(".")+14, "}")
    endif
endfunc
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值