您的位置:首页 > 其它

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

2017-09-05 20:07 465 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: