vim创建新文件自动添加自定义信息

别等时光非礼了梦想. 提交于 2019-12-26 09:44:30

vim创建新文件自动添加自定义信息

用vim创建新文件时会相应地给出该文件属性的自定义信息,以Ubuntu 18.04系统为例,当创建.sh脚本文件时:
创建脚本文件时的自定义信息
当创建.cpp源文件时:
创建源文件时的自定义信息
以管理员方式用vim打开其配置文件.vimrc,命令如下:

sudo vim /etc/vim/vimrc

输入密码后,进入如下界面:
vim配置文件开头部分信息
输入“i”进入编辑状态,并把如下信息复制在文件末尾,信息如下:

let g:pydiction_location = '~/.vim/after/complete-dict'
let g:pydiction_menu_height = 20
let Tlist_Ctags_Cmd='/usr/local/bin/ctags'
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
autocmd FileType python set omnifunc=pythoncomplete#Complete
set rtp+=~/.vim/bundle/vundle
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
"""""""""""""""""""""""""""新文件标题 """""""""""""""""""""""""""
"新建.c,.h,.sh,.java文件,自动插入文件头 
autocmd BufNewFile .cpp,.[ch],.sh,.py,*.java exec ":call SetTitle()" 
""定义函数SetTitle,自动插入文件头 
func SetTitle()
    "如果文件类型为.sh文件 
    if &filetype == 'sh' 
        call setline(1,"#!/bin/bash") 
        call append(line("."),"############################") 
        call append(line(".")+1, "# File Name: ".expand("%"))
        call append(line(".")+2, "# Author : name")
        call append(line(".")+3, "# QQ : 123456789")
        call append(line(".")+4, "# Email:123456789@qq.com")
        call append(line(".")+5, "# Blog:http://www.cnblogs.com/")
        call append(line(".")+6, "# Created Time: ".strftime("%c"))
        call append(line(".")+7, "#########################")
        call append(line(".")+8, "")

    elseif &filetype == 'python'
        call setline(1,"#!/usr/bin/env python")
        call append(line("."),"############################")
        call append(line(".")+1, "# File Name: ".expand("%"))
        call append(line(".")+2, "# Author : name")
        call append(line(".")+3, "# QQ : 123456789")
        call append(line(".")+4, "# Email:123456789@qq.com")
        call append(line(".")+5, "# Blog:http://www.cnblogs.com/")
        call append(line(".")+6, "# Created Time: ".strftime("%c"))
        call append(line(".")+7, "#########################")
        call append(line(".")+8, "")

    else
        call setline(1, "/***") 
        call append(line("."), "    > File Name: ".expand("%")) 
        call append(line(".")+1, "# File Name: ".expand("%"))
        call append(line(".")+2, "# Author : name")
        call append(line(".")+3, "# QQ : 123456789")
        call append(line(".")+4, "# Email:123456789@qq.com")
        call append(line(".")+5, "# Blog:http://www.cnblogs.com/")
        call append(line(".")+6, "# Created Time: ".strftime("%c"))
        call append(line(".")+7, " **/") 
        call append(line(".")+8, "")

    endif

    if &filetype == 'cpp'
        call append(line(".")+6, "#include")
        call append(line(".")+7, "using namespace std;")
        call append(line(".")+8, "")
    endif
    if &filetype == 'c'
        call append(line(".")+6, "#include")
        call append(line(".")+7, "")
    endif
    "新建文件后,自动定位到文件末尾
endfunc
autocmd BufNewFile * normal G

保存上述配置文件即可。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!