从此,让我的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. 图片上传怎么用File接受文件

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.——这才是真正的堪称强大!! - ...

  2. 【转载】Sqlserver使用Convert函数进行数据类型转换

    在Sqlserver数据库中,可以使用Convert函数来进行数据类型的转换,如将数字类型decimal转换为字符串nvarchar类型,或者将字符串类型转换为数字类型都可以使用Convert函数来实 ...

  3. map函数的应用

    map函数在Python中的应用 函数介绍: map() 会根据提供的函数对指定序列做映射. map(function, iterable, ...) 第一个参数function 以参数序列中的每一个 ...

  4. Python实现YOLO目标检测

    作者:R语言和Python学堂 链接:https://www.jianshu.com/p/35cfc959b37c 1. 什么是目标检测? YOLO目标检测的一个示例 啥是目标检测? 拿上图 (用YO ...

  5. STM8 uart1

    举例 int main() { UART1_DeInit(); //波特率9600,数据位8,停止位1,校验位无,非同步模式,发送接收使能 UART1_Init(9600, UART1_WORDLEN ...

  6. 【DRF框架】序列化组件——字段验证

    单个字段的验证 1.在序列化器里定义校验字段的钩子方法   validate_字段 2.获取字段的数据 3.验证不通过,抛出异常  raise serializers.ValidationError( ...

  7. Python标准库3.4.3-webbrowser-21.1

    21.1. webbrowser — Convenient Web-browser controller Source code: Lib/webbrowser.py  翻译:Z.F. The web ...

  8. Python 使用 docopt 解析json参数文件

    1. 背景 在深度学习的任务中,通常需要比较复杂的参数以及输入输出配置,比如需要不同的训练data,不同的模型,写入不同的log文件,输出到不同的文件夹以免混淆输出 常用的parser.add()方法 ...

  9. P1330 封锁阳光大学[搜索+染色]

    题目来源:洛谷 题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图 ...

  10. Markdown编辑器的使用测试

    北京高校(大标题) 北京电子科技学院(小标题) 计算机技术(一级标) 研究生(二级标) 列表(三级标) 姓名 - 扎西 - 卓玛 学号 - 01 - 02 超链接 [QQ邮箱](https://www ...