让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 就是 ...
随机推荐
- C#判断字符串中含有多少个汉字
private void button1_Click(object sender, EventArgs e) { ArrayList itemList = new ArrayList(); CharE ...
- 【转载】C#使用is关键字检查对象是否与给定类型兼容
在C#的编程开发过程中,很多时候涉及到数据类型的转换,如果强行转换数据类型,有时候可能会出现程序运行时错误,C#语言中提供了is关键字可以检查对象是否与给定类型兼容,可先判断类型兼容后再进行对象的转换 ...
- [ICCV 2019] Weakly Supervised Object Detection With Segmentation Collaboration
新在ICCV上发的弱监督物体检测文章,偷偷高兴一下,贴出我的poster,最近有点忙,话不多说,欢迎交流- https://arxiv.org/pdf/1904.00551.pdf http://op ...
- How to delete SAP* from HANA Tenant database
How to delete SAP* from HANA Tenant database 1.如何登录HANA的多租户(TDC)数据库 使用SAPS4端对应的SAP账户,比如S4D的账户为s4dadm ...
- iOS-CGContextRef
图形上下文(Graphics Context)---绘制目标 需要在iOS应用程序的屏幕上进行绘制时,需要先定义一个UIView类,并实现它的drawRect:方法,当启动程序时,会先调用loadVi ...
- iOS开发微信支付的介绍与实现
1.前期准备 1) 到微信开放平台注册账号 需要登录邮箱验证 填写您的商户信息 2) 进入管理中心 --- 移动应用 --- 创建移动应用 --- 根据页面完善应用资料 3) 审核过后,通过应用详情页 ...
- NLP使用pytorch框架,pytorch安装
pytorch的安装方法及出现问题的解决方案: 安装pytorch,使用pip 安装,在运行代码的时候会报错,但是导包的时候不会报错,因此要采用conda的方式安装 1.找到miniconda的网 ...
- Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系
简单的说,Handler获取当前线程中的looper对象,looper用来存放从MessageQueue中取出的Message,再由Handler进行Message分发和处理,按照先进先出执行. Me ...
- Dumpsys Alarm查看应用程序唤醒命令
Dumpsys alarm查看应用程序唤醒命令: 在安卓adb root进如命令行后(没有root或者root群组的权限执行不了该命令), 1. <span style="font-s ...
- Gitlab-CI +Docker + Docker-Compose构建可持续集成java项目的镜像
先注册好Runner: https://www.cnblogs.com/zsifan/p/11714788.html 以及搭建Java和Maven环境: https://www.cnblogs.com ...