让vim更加智能化

从此,让我的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()"
复制代码

当然可以继续优化,都是后话了,能用再说吧。

posted @   叕叒双又  阅读(269)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-11-10 msp430入门编程44
2017-11-10 msp430入门编程43
2017-11-10 msp430入门编程42
2017-11-10 msp430入门编程41
2017-11-10 msp430入门编程40
2017-11-10 msp430入门编程37
2017-11-10 msp430入门编程36
点击右上角即可分享
微信分享提示