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

"新建.c\.cpp\.python\.sh等文件时,使用定义的函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为不同种类文件文件时:
if &filetype == 'c'
call setline(, "\/\/This is c program code!")
call append(line(".")+,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
call append(line(".")+," * 文档信息: *** :".expand("%:p:~"))
call append(line(".")+," * 创建时间: *** :".strftime("%c"))
call append(line(".")+," * 版权声明: *** :(魎魍魅魑)MIT")
call append(line(".")+," * 联络信箱: *** :guochaoxxl@163.com")
call append(line(".")+," * 文档用途: *** :深入理解C指针")
call append(line(".")+," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
call append(line(".")+," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
call append(line(".")+," * 文件描述: *** :自行添加")
call append(line(".")+," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
call append(line(".")+," ")
endif if &filetype == 'cpp'
call append(line(".")+,"/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
call append(line(".")+," * 文档信息: *** :".expand("%:p:~"))
call append(line(".")+," * 创建时间: *** :".strftime("%c"))
call append(line(".")+," * 版权声明: *** :(魎魍魅魑)MIT")
call append(line(".")+," * 联络信箱: *** :guochaoxxl@163.com")
call append(line(".")+," * 文档用途: *** :深入理解C指针")
call append(line(".")+," * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
call append(line(".")+," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
call append(line(".")+," * 文件描述: *** :自行添加")
call append(line(".")+," * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
call append(line(".")+," ")
endif if &filetype == 'python'
call setline(, "\#\!\/usr\/bin\/env python")
call append(line(".")+,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
call append(line(".")+,"# * 文档信息: *** :".expand("%:p:~"))
call append(line(".")+,"# * 创建时间: *** :".strftime("%c"))
call append(line(".")+,"# * 版权声明: *** :(魎魍魅魑)MIT")
call append(line(".")+,"# * 联络信箱: *** :guochaoxxl@163.com")
call append(line(".")+,"# * 文档用途: *** :深入理解C指针")
call append(line(".")+,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
call append(line(".")+,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
call append(line(".")+,"# * 文件描述: *** :自行添加")
call append(line(".")+,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
call append(line(".")+," ")
endif if &filetype == 'sh'
call setline(, "\#!/usr/bin/bash")
call append(line(".")+,"#/* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
call append(line(".")+,"# * 文档信息: *** :".expand("%:p:~"))
call append(line(".")+,"# * 创建时间: *** :".strftime("%c"))
call append(line(".")+,"# * 版权声明: *** :(魎魍魅魑)MIT")
call append(line(".")+,"# * 联络信箱: *** :guochaoxxl@163.com")
call append(line(".")+,"# * 文档用途: *** :深入理解C指针")
call append(line(".")+,"# * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl)")
call append(line(".")+,"# * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
call append(line(".")+,"# * 文件描述: *** :自行添加")
call append(line(".")+,"# * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/")
call append(line(".")+," ")
endif normal Gj
normal I
endfunc 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. lambda的一些用法

    lambda在函数中调用时可以不用传入形参,当需要时才传入参数,方便一些场合中的使用(当参数一直变化时,仍然需要调用函数,可以采用如下方式).如以下代码所示. import numpy as np d ...

  2. Java Web 深入分析(10) Spring 实践

    Spring helloworld [http://wiki.jikexueyuan.com/project/spring/hello-world-example.html] HelloWorld.j ...

  3. 可以在一个.java文件中写两个类吗?

    一个java文件中可以有任意多个类,接口或是注解..但是只能有一个类是public的,而且这个类的名字要和文件同名,比如public类名为A则文件名就应当为A.java

  4. JVM锁优化以及区别

    偏向所锁,轻量级锁都是乐观锁,重量级锁是悲观锁. 首先简单说下先偏向锁.轻量级锁.重量级锁三者各自的应用场景: 偏向锁:只有一个线程进入临界区: 轻量级锁:多个线程交替进入临界区: 重量级锁:多个线程 ...

  5. Thinkphp中的assign() 和 display()

    说到 $this->assign()  与 $this->display()想必用过TP框架的都不陌生,那么今天我们就来说说他们的作用及其他用法. 先说 $this->assign( ...

  6. ios获取数组中的最大值

    在编码过程中,我们通常碰到一组数据,需要自己简单的处理下,拿到数组中的总和,大小和平均值数据. 1.简单粗暴的方法,快速求和. NSArray * array = @[@"35", ...

  7. 删除MRP单据

    select *into newtable from a_mplist 把a_mplist的表中的数据复制到newtable表中结构也是一样的 insert into newtable select ...

  8. grafana忘记登陆密码

    找到grafana的数据文件grafana.db find / -name "grafana.db" ps:默认的安装路径为/var/lib/grafana/grafana.db ...

  9. Eigen

    Eigen: https://eigen.tuxfamily.org/dox/GettingStarted.html

  10. unittest(一)IDE导出的代码分析

    在 Python 语言下有诸多单元测试框架,如 unittest.Pytest.nose 等,其中 unittest 框架(原名 PyUnit 框架)为 Python 语言自带的单元测试框架,从 Py ...