vim自动添加C C++ sh文件头

set foldenable
set foldmethod=manual
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8

autocmd BufNewFile *.cpp,*.[ch],*.hpp,*.sh,*.java exec ":call SetTitle()"

func SetTitle()
    if expand("%:e") == 'sh'
        call append(0,"##########################################################")
        call append(1,"# File Name: ".expand("%"))
        call append(2,"# Author:qinbin")
        call append(3,"# mail:qbmiller@163.com")
        call append(4,"# Created Time: ".strftime("%F"))
        call append(5,"# brief   ")
        call append(6,"###########################################################")
        call append(7,"")
        call append(8,"#!/bin/bash")
        call append(9,"")
    else
        call append(0, "/**") 
        call append(1,"*@file ".expand("%")) 
        call append(2,"*@brief  ")
        call append(3,"*@author qinbin") 
        call append(4,"*@date ".strftime("%F"))
        call append(5,"*@return ")
        call append(6,"*/")
        call append(7,"")
    endif
    if expand("%:e") == 'cpp'
        call append(8,"#include <iostream>")
        call append(9,"using namespace std;")
        call append(10,"")
    endif
    if expand("%:e") == 'c'
        call append(8,"#include <stdio.h>")
        call append(9,"")
    endif
#autocmd BufNewFile
* normal G endfunc

开头set等,还可以把我以前写的vimrc配置上  内容加些过来,不过我把那些直接写入/etc/vimrc下了

原文地址:https://www.cnblogs.com/qbmiller/p/3884965.html