从此,让我的vim更加的智能化,整整用了一个周日,基本是值得的:

  1. "新建.c\.cpp\.python\.sh等文件时,使用定义的函数SetTitle,自动插入文件头
  2. func SetTitle()
  3. "如果文件类型为不同种类文件文件时:
  4. if &filetype == 'c'
  5. call setline(, "\/\/This is c program code!")
  6. call append(line(".")+,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
  7. call append(line(".")+," * 文档信息: *** :".expand("%:p:~"))
  8. call append(line(".")+," * 创建时间: *** :".strftime("%c"))
  9. call append(line(".")+," * 版权声明: *** :(魎魍魅魑)MIT")
  10. call append(line(".")+," * 联络信箱: *** :guochaoxxl@163.com")
  11. call append(line(".")+," * 文档用途: *** :深入理解C指针")
  12. call append(line(".")+," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
  13. call append(line(".")+," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
  14. call append(line(".")+," * 文件描述: *** :自行添加")
  15. call append(line(".")+," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
  16. call append(line(".")+," ")
  17. endif
  18.  
  19. if &filetype == 'cpp'
  20. call append(line(".")+,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
  21. call append(line(".")+," * 文档信息: *** :".expand("%:p:~"))
  22. call append(line(".")+," * 创建时间: *** :".strftime("%c"))
  23. call append(line(".")+," * 版权声明: *** :(魎魍魅魑)MIT")
  24. call append(line(".")+," * 联络信箱: *** :guochaoxxl@163.com")
  25. call append(line(".")+," * 文档用途: *** :深入理解C指针")
  26. call append(line(".")+," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
  27. call append(line(".")+," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
  28. call append(line(".")+," * 文件描述: *** :自行添加")
  29. call append(line(".")+," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
  30. call append(line(".")+," ")
  31. endif
  32.  
  33. if &filetype == 'python'
  34. call setline(, "\#\!\/usr\/bin\/env python")
  35. call append(line(".")+,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
  36. call append(line(".")+,"# * 文档信息: *** :".expand("%:p:~"))
  37. call append(line(".")+,"# * 创建时间: *** :".strftime("%c"))
  38. call append(line(".")+,"# * 版权声明: *** :(魎魍魅魑)MIT")
  39. call append(line(".")+,"# * 联络信箱: *** :guochaoxxl@163.com")
  40. call append(line(".")+,"# * 文档用途: *** :深入理解C指针")
  41. call append(line(".")+,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
  42. call append(line(".")+,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
  43. call append(line(".")+,"# * 文件描述: *** :自行添加")
  44. call append(line(".")+,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
  45. call append(line(".")+," ")
  46. endif
  47.  
  48. if &filetype == 'sh'
  49. call setline(, "\#!/usr/bin/bash")
  50. call append(line(".")+,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
  51. call append(line(".")+,"# * 文档信息: *** :".expand("%:p:~"))
  52. call append(line(".")+,"# * 创建时间: *** :".strftime("%c"))
  53. call append(line(".")+,"# * 版权声明: *** :(魎魍魅魑)MIT")
  54. call append(line(".")+,"# * 联络信箱: *** :guochaoxxl@163.com")
  55. call append(line(".")+,"# * 文档用途: *** :深入理解C指针")
  56. call append(line(".")+,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
  57. call append(line(".")+,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
  58. call append(line(".")+,"# * 文件描述: *** :自行添加")
  59. call append(line(".")+,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
  60. call append(line(".")+," ")
  61. endif
  62.  
  63. normal Gj
  64. normal I
  65. endfunc
  66.  
  67. autocmd BufNewFile *.c,*.cpp,*.py,*.sh exec ":call SetTitle()"

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

让vim更加智能化的更多相关文章

  1. Vim 文本编辑器的基本使用

    Vim文本编辑器是Linux/Unix系统下最常用的工具之一,通过该工具可以很方便的建立.修改.编辑文档或者程序文件,其作用类似与windows系统下的记事本或者notepad++,因此熟练掌握该工具 ...

  2. 智能化的命令行工具-betty

    本文首先公布在 CSDN的文章编辑器实在太烂了,建议大家用Cmd Markdown.它不但支持markdown.还支持VIM模式. 智能化的命令行工具-betty betty tool command ...

  3. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  4. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  5. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  6. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  7. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  8. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  9. VIM教程

    vim 的环境设定参数 :set nu :set nonu             就是设定与取消行号啊! :set hlsearch :set nohlsearch     hlsearch 就是 ...

随机推荐

  1. C#判断字符串中含有多少个汉字

    private void button1_Click(object sender, EventArgs e) { ArrayList itemList = new ArrayList(); CharE ...

  2. 【转载】C#使用is关键字检查对象是否与给定类型兼容

    在C#的编程开发过程中,很多时候涉及到数据类型的转换,如果强行转换数据类型,有时候可能会出现程序运行时错误,C#语言中提供了is关键字可以检查对象是否与给定类型兼容,可先判断类型兼容后再进行对象的转换 ...

  3. [ICCV 2019] Weakly Supervised Object Detection With Segmentation Collaboration

    新在ICCV上发的弱监督物体检测文章,偷偷高兴一下,贴出我的poster,最近有点忙,话不多说,欢迎交流- https://arxiv.org/pdf/1904.00551.pdf http://op ...

  4. How to delete SAP* from HANA Tenant database

    How to delete SAP* from HANA Tenant database 1.如何登录HANA的多租户(TDC)数据库 使用SAPS4端对应的SAP账户,比如S4D的账户为s4dadm ...

  5. iOS-CGContextRef

    图形上下文(Graphics Context)---绘制目标 需要在iOS应用程序的屏幕上进行绘制时,需要先定义一个UIView类,并实现它的drawRect:方法,当启动程序时,会先调用loadVi ...

  6. iOS开发微信支付的介绍与实现

    1.前期准备 1) 到微信开放平台注册账号 需要登录邮箱验证 填写您的商户信息 2) 进入管理中心 --- 移动应用 --- 创建移动应用 --- 根据页面完善应用资料 3) 审核过后,通过应用详情页 ...

  7. NLP使用pytorch框架,pytorch安装

    pytorch的安装方法及出现问题的解决方案: 安装pytorch,使用pip 安装,在运行代码的时候会报错,但是导包的时候不会报错,因此要采用conda的方式安装   1.找到miniconda的网 ...

  8. Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系

    简单的说,Handler获取当前线程中的looper对象,looper用来存放从MessageQueue中取出的Message,再由Handler进行Message分发和处理,按照先进先出执行. Me ...

  9. Dumpsys Alarm查看应用程序唤醒命令

    Dumpsys alarm查看应用程序唤醒命令: 在安卓adb root进如命令行后(没有root或者root群组的权限执行不了该命令), 1. <span style="font-s ...

  10. Gitlab-CI +Docker + Docker-Compose构建可持续集成java项目的镜像

    先注册好Runner: https://www.cnblogs.com/zsifan/p/11714788.html 以及搭建Java和Maven环境: https://www.cnblogs.com ...