让vim更加智能化
从此,让我的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更加智能化的更多相关文章
- Vim 文本编辑器的基本使用
Vim文本编辑器是Linux/Unix系统下最常用的工具之一,通过该工具可以很方便的建立.修改.编辑文档或者程序文件,其作用类似与windows系统下的记事本或者notepad++,因此熟练掌握该工具 ...
- 智能化的命令行工具-betty
本文首先公布在 CSDN的文章编辑器实在太烂了,建议大家用Cmd Markdown.它不但支持markdown.还支持VIM模式. 智能化的命令行工具-betty betty tool command ...
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- VIM教程
vim 的环境设定参数 :set nu :set nonu 就是设定与取消行号啊! :set hlsearch :set nohlsearch hlsearch 就是 ...
随机推荐
- dotnet core2.2 通过虚拟机发布到CentOS上
自从.net core出现的时候,就知道c#的代码居然能后运行到Linux上面,以前都没想过居然这么牛逼,所以很早就想学习怎样部署上去,直到现在.net core都出现2.2了,才花时间去接触,说实话 ...
- leetcode算法题(4)
问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 我的解答: package Simple; public class RoamnInt { public static ...
- Feign的理解
Feign是什么? Feign是一个http请求调用的轻量级框架,也可以说是声明式WebService客户端 Feign的作用 可以以Java接口注解的方式调用Http请求,它使java调用Http请 ...
- Axios使用拦截器全局处理请求重试
Axios拦截器 Axios提供了拦截器的接口,让我们能够全局处理请求和响应.Axios拦截器会在Promise的then和catch调用前拦截到. 请求拦截示例 axios.interceptors ...
- element-ui上传一张图片后隐藏上传按钮
来自:https://github.com/ElemeFE/element/issues/3367#issuecomment-376402380 侵删 el-upload里面绑定一个占位class: ...
- mybatisplus 使用案例
案例地址 https://github.com/qixianchuan/SpringBootQD/tree/master/mybatisplus
- 张量(tensor)的广播
在使用numpy 对张量(数组)进行操作时,两个形状相同的张量进行加减等运算很容易理解,那么不同形状的张量之间的运算是通过广播来实现的.广播实际上很简单,但是弄清楚是也花了不小功夫,这里记录一下. 广 ...
- 【转载】Redis 4.0 自动内存碎片整理(Active Defrag)源码分析
click原文链接原文链接:https://blog.csdn.net/zouhuajianclever/article/details/90669409阅读本文前建议先阅读此篇博客: Redis源码 ...
- BLOB和TEXT
区别: BLOB存储的是二进制数据,没有排序规则或字符集. TEXT存储的是字符,有排序规则和字符集. 因为Memory引擎不支持BLOB和TEXT类型,最好的解决方案避免使用BLOB和TEXT类型. ...
- Selenium常用API的使用java语言之13-多表单切换
在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位 ...