前言
当前为vimrc脚本设置,脚本位置在 ~/.vimrc or /etc/vimrc
当前为首次打开 C C++ Shell 文件,自动填充对应文件头信息,再次打开时会修改对应时间信息
:set nu "显示行号
:set hlsearch "搜索时 高亮
"新建 .c .cpp .sh文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
"定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if expand("%:e") == 'sh'
call setline(1, "#/bin/bash")
call append(line("."), "# ----------------------------------------------------")
call append(line(".")+1, "# > File Name: ".expand("%"))
call append(line(".")+2, "# > Author: qxy")
call append(line(".")+3, "# > Mail: ********@***.***")
call append(line(".")+4, "# > Created Time: ".strftime("%c"))
call append(line(".")+5, "# > Modified Time:".strftime("%c"))
call append(line(".")+6, "# ----------------------------------------------------")
call append(line(".")+7, "")
call append(line(".")+8, "")
endif
if expand("%:e") == 'cpp'
call setline(1, "/*")
call append(line("."), " * ----------------------------------------------------")
call append(line(".")+1, " * > File Name: ".expand("%"))
call append(line(".")+2, " * > Author: qxy")
call append(line(".")+3, " * > Mail: ********@***.***")
call append(line(".")+4, " * > Created Time: ".strftime("%c"))
call append(line(".")+5, " * > Modified Time:".strftime("%c"))
call append(line(".")+6, " * ----------------------------------------------------")
call append(line(".")+7, " */")
call append(line(".")+8, "")
call append(line(".")+9, "#include <iostream>")
call append(line(".")+10, "")
call append(line(".")+11, "using namespace std;")
call append(line(".")+12, "")
endif
if expand("%:e") == 'c'
call setline(1, "/*")
call append(line("."), " * ----------------------------------------------------")
call append(line(".")+1, " * > File Name: ".expand("%"))
call append(line(".")+2, " * > Author: qxy")
call append(line(".")+3, " * > Mail: ********@***.***")
call append(line(".")+4, " * > Created Time: ".strftime("%c"))
call append(line(".")+5, " * > Modified Time:".strftime("%c"))
call append(line(".")+6, " * ----------------------------------------------------")
call append(line(".")+7, " */")
call append(line(".")+8, "")
call append(line(".")+9, "#include <stdio.h>")
call append(line(".")+10, "#include <stdlib.h>")
call append(line(".")+11, "")
call append(line(".")+12, "int main(int argc, char const *argv[])")
call append(line(".")+13, "{")
call append(line(".")+14, "")
call append(line(".")+15, " return 0;")
call append(line(".")+16, "}")
call append(line(".")+17, "")
endif
endfunc
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
"--------------------------------------------------------------------------
" modify the last modified time of a file
function SetLastModifiedTime(lineno)
let modif_time = strftime("%c")
let line = ' * > Modified Time:'.modif_time
call setline(7, line)
endfunction
function SetLastShellModifiedTime(lineno)
let modif_time = strftime("%c")
let line = '# > Modified Time:'.modif_time
call setline(7, line)
endfunction
" map the SetLastModifiedTime command automatically
au BufWrite *.cpp,*.c call SetLastModifiedTime(-1)
au BufWrite *.sh call SetLastShellModifiedTime(-1)