让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 就是 ...
随机推荐
- XPATH中text()和string()的使用区别
<table style="WIDTH: 95.45%; BORDER-COLLAPSE: collapse; EMPTY-CELLS: show; MARGIN-LEFT: 4.55 ...
- ReLU函数的缺陷
ReLU激活功能并不完美. 它有一个被称为 “ReLU 死区” 的问题:在训练过程中,一些神经元会“死亡”,即它们停止输出 0 以外的任何东西.在某些情况下,你可能会发现你网络的一半神经元已经死亡,特 ...
- javascript原型原型链 学习随笔
理解原型和原型链.需从构造函数.__proto__属性(IE11以下这个属性是undefined,请使用chrome调试).prototype属性入手. JS内置的好多函数,这些函数又被叫做构造函数. ...
- SD-定义定价用途的条件表(Condition Table)
https://www.fenginfo.com/815.html 条件表(Condition Table)是SAP条件技术体系中最基础的数据源,它们是一群特定的数据表,表名是以特定字母开头 + 三位 ...
- sql sever2008 R2 检测到索引可能已损坏。请运行 DBCC CHECKDB。
1.设置成单用户状态 USE MASTER ALTER DATABASE DBNAME SET SINGLE_USER; GO --DBNAME为修复的数据库名 2.执行修复语句,检查和修复数据库及索 ...
- 基于数组的shell脚本编写
基于数组的shell脚本编写 2017年08月17日 22:56:36 momokuku123 阅读数:369 数据:变量,文件,数组 变量:存储单个元素的内存中的一块存储空间 数组:存储多个元素的内 ...
- RestFramework之权限组件
一.权限组件的使用 1.首先需要导入包 from rest_framework.permissions import BasePermission 2.编写权限类 class VipPermissio ...
- Python面向对象Day1
一.面向对象初始 面向过程变成属于流水式 面向对象是一种思想 结构上理解面向对象:两部分 class A: # 类 name = '小明' # 静态属性,静态变量,静态字段,或者属性.变量.字段 de ...
- 交付Dubbo微服务到kubernetes集群
1.基础架构 1.1.架构图 Zookeeper是Dubbo微服务集群的注册中心 它的高可用机制和k8s的etcd集群一致 java编写,需要jdk环境 1.2.节点规划 主机名 角色 ip hdss ...
- maven 打包到本地库
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2.0 -Dpackaging= ...