从此,让我的vim更加的智能化,整整用了一个周日,基本是值得的:
"新建.c.cpp.python.sh等文件时,使用定义的函数SetTitle,自动插入文件头 276 func SetTitle() 277 "如果文件类型为不同种类文件文件时: 278 if &filetype == 'c' 279 call setline(1, "//This is c program code!") 280 call append(line(".")+0,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=") 281 call append(line(".")+1," * 文档信息: *** :".expand("%:p:~")) 282 call append(line(".")+2," * 创建时间: *** :".strftime("%c")) 283 call append(line(".")+3," * 版权声明: *** :(魎魍魅魑)MIT") 284 call append(line(".")+4," * 联络信箱: *** :guochaoxxl@163.com") 285 call append(line(".")+5," * 文档用途: *** :深入理解C指针") 286 call append(line(".")+6," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)") 287 call append(line(".")+7," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")) 288 call append(line(".")+8," * 文件描述: *** :自行添加") 289 call append(line(".")+9," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/") 290 call append(line(".")+10," ") 291 endif 292 293 if &filetype == 'cpp' 294 call append(line(".")+0,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=") 295 call append(line(".")+1," * 文档信息: *** :".expand("%:p:~")) 296 call append(line(".")+2," * 创建时间: *** :".strftime("%c")) 297 call append(line(".")+3," * 版权声明: *** :(魎魍魅魑)MIT") 298 call append(line(".")+4," * 联络信箱: *** :guochaoxxl@163.com") 299 call append(line(".")+5," * 文档用途: *** :深入理解C指针") 300 call append(line(".")+6," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)") 301 call append(line(".")+7," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")) 302 call append(line(".")+8," * 文件描述: *** :自行添加") 303 call append(line(".")+9," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/") 304 call append(line(".")+10," ") 305 endif 306 307 if &filetype == 'python' 308 call setline(1, "#!/usr/bin/env python") 309 call append(line(".")+0,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=") 310 call append(line(".")+1,"# * 文档信息: *** :".expand("%:p:~")) 311 call append(line(".")+2,"# * 创建时间: *** :".strftime("%c")) 312 call append(line(".")+3,"# * 版权声明: *** :(魎魍魅魑)MIT") 313 call append(line(".")+4,"# * 联络信箱: *** :guochaoxxl@163.com") 314 call append(line(".")+5,"# * 文档用途: *** :深入理解C指针") 315 call append(line(".")+6,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)") 316 call append(line(".")+7,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")) 317 call append(line(".")+8,"# * 文件描述: *** :自行添加") 318 call append(line(".")+9,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/") 319 call append(line(".")+10," ") 320 endif 321 322 if &filetype == 'sh' 323 call setline(1, "#!/usr/bin/bash") 324 call append(line(".")+0,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=") 325 call append(line(".")+1,"# * 文档信息: *** :".expand("%:p:~")) 326 call append(line(".")+2,"# * 创建时间: *** :".strftime("%c")) 327 call append(line(".")+3,"# * 版权声明: *** :(魎魍魅魑)MIT") 328 call append(line(".")+4,"# * 联络信箱: *** :guochaoxxl@163.com") 329 call append(line(".")+5,"# * 文档用途: *** :深入理解C指针") 330 call append(line(".")+6,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)") 331 call append(line(".")+7,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")) 332 call append(line(".")+8,"# * 文件描述: *** :自行添加") 333 call append(line(".")+9,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/") 334 call append(line(".")+10," ") 335 endif 336 337 normal Gj 338 normal I 339 endfunc 340 341 autocmd BufNewFile *.c,*.cpp,*.py,*.sh exec ":call SetTitle()"
当然可以继续优化,都是后话了,能用再说吧。