vim模板插件vim-template的使用

之前使用IDE编程,模板是最基本的功能,现在切换到vim,用惯了模板的我,对于每次写代码都来上

# -*- coding: utf-8 -*-
#
# 日期 作者
#
# License

这么一段,感觉有点恐怖,Google了一下,vim竟然可以实现比IDE更强大的功能,真是不得不佩服vim的强大!

安装

由于不同人的vim配置不一样,安装方法也不尽相同,请参考官方的安装方法来安装。
对于使用spf13-vim的同学,在主目录下的.vimrc.bundles.local添加一行:

Bundle 'git@github.com:aperezdc/vim-template.git'# 不知道"Bundle 'vim-template'"为什么老要我输入用户名密码,
# 输入之后也安装不成功,知道的同学可以留言告知我。

然后在shell里面运行:

vim +BundleInstall

或者打开vim,运行:

:BundleInstall

都行。

基本使用

如果你对自带的模板没有很多意见,你甚至什么都不用配置,你用vim打开一个新的python脚本,vim-template会自动检测
文件后缀,然后自己根据模板填充文件,一切都那么理所当然。你甚至可以打开没有后缀的文件,然后运行:Template <pattern>(比如:Template *.py)在文件
开头插入模板,:TemplateHere <pattern>(比如: TemplateHere *.py)在光标所在的位置插入模板。

配置

安装好vim-template之后,可以根据自己的需要来配置:

1. 自定义模板变量

vim-template可以自定义模板变量, 在主目录的.vimrc(如果你使用spf13-vim的话就修改.vimrc.local)中添加:

let g:templates_user_variables = [['EMAIL', 'GetEmail'],]function GetEamil()return 'pylego@hotmail.com'
endfunction

注意:上面都是VimScript的语法,有兴趣的可以学习下。

这样你就可以在模板里面写%EMAIL%,然后模板引擎会自动调用GetEmail函数,将返回值代替之。

2. 自定义模板

有时候你想根据自己的需要定义模板,在vim-template里面是很容易实现的

2.1 修改g:templates_directory到你自定义模板所在的文件夹

# 在.vimrc(如果你使用spf13-vim的话就是.vimrc.local)
let g:templates_directory = '/home/pylego/.vim/templates'

2.2 在/home/pylego/.vim/templates中创建模板文件

文件的命名模式是"=template=<pattern>", 比如我想让每个以py结尾的文件都以这个模板开始就可以这样:

创建一个名为"=template=.py"的文件,向文件里面写入模板。

注意这个"=template="前缀是可以改动的,具体不在本文讨论范围内。

我的配置

spf13-vim

.vimrc.local

" settings for vim-template bundle
let g:templates_directory = ['/home/pylego/.vim/templates',]
let g:templates_user_variables = [['EMAIL', 'GetMail'], ['FULLPATH', 'GetFullPath']]function GetMail()return 'pylego@hotmail.com'
endfunctionfunction GetFullPath()return expand('%:p')
endfunction
" vim-template settings end

/home/pylego/.vim/templates/=template=.py

# -*- coding: utf-8 -*-
#
# Copyright © PyleGo.
#
# %DATE% %TIME% <%EMAIL%>
#
# Distributed under terms of the %LICENSE% license.

vim模板插件vim-template的使用相关推荐

  1. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件...

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  2. Vim Vundle 插件管理器

    /*********************************************************************** Vim Vundle 插件管理器* 说明:* 话说Vi ...

  3. 无插件Vim编程技巧

    相信大家看过< 简明Vim教程>也玩了< Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常用Vim编程的一些技巧列出来给大家看看,希望对大家有用,另 ...

  4. centos vim 安装插件本质研究

    vim工具的有个运行时路径变量rtp是runtimepath的简写: 在vim命令行中的查看命令为:set 变量: 查看rtp变量 set rtp 显示有~/.vim 等其他路径 前面一个博客提到一个 ...

  5. linux下vim编辑器插件,linux vim编辑器插件的安装和设置方法

    vim是一个很好的编程利器,如果配合上一些插件使用,简直堪比IDE 以下是本人自己的一些设置: 一.ctags(内置) 使用方法: 1 在源码目录创建tag文件 ctags -R 2 打开一个文件 把 ...

  6. Vim安装插件在命令行下看代码

    这几天我又想抛弃source insight 了,主要是太慢了 安装如下 VIM万能插件 或者使用 sudo apt-get installexuberant-ctags 安装 我主要是使用函数跳转功 ...

  7. vim的强大,vim设置和插件的使用,脱离windows才是王道

    map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> let Tlist_Show_One_ ...

  8. vim golang 插件

    最好用的vim golang 插件 可自动缩进 git clone git@github.com:aimin/InstallvimGo.git 转载于:https://www.cnblogs.com/ ...

  9. 【Linux vim 入门及渐进过程2 - vim 常用插件配置】

    文章目录 1.1 vim 常用配置 1.1.2 vim 别名 alias 配置 1.1.3 vim 终端颜色配置 1.1.3 vim cscope 函数配置 1.1.4 vimrc 配置 1.2 vi ...

最新文章

  1. Spring Cloud Gateway
  2. The document “Main.storyboard” requires Xcode 8.0 or later
  3. BZOJ 1396:识别子串 SA+树状数组+单调队列
  4. 分治 —— 莫队算法 —— 带修莫队
  5. 错误诊断:索引数据错误导致ORA-00600 [kdsgrp1]处理
  6. 学习 Node.js 的 6 个步骤
  7. 不能错过!简单易懂的哈希表总结
  8. 不招聘数据科学家的 7 个理由!
  9. mysql Load Data InFile 的用法
  10. 数据结构练习题――中序遍历二叉树
  11. android 的一些编译问题
  12. 计算机组成原理 / 反汇编实验(2)拆弹实验
  13. 私网地址与公网地址转换
  14. FND_MESSAGE使用总结
  15. 国际商务英语学习[三]
  16. uni-app离线打包遇到的坑
  17. matlab exm,exm 《Experiments with MATLAB》这本书的程序源码,附中文注释,简单易懂,是学习 238万源代码下载- www.pudn.com...
  18. Symbian S60v5 编程中的程序图标更换问题
  19. 阿里云虚拟云主机使用PHPMailer无法发送邮件的问题
  20. 聊聊激光雷达原理之光学原理

热门文章

  1. 安装sql server 2000
  2. 忘记mysql数据库连接密码
  3. 蓝桥杯第八届省赛JAVA真题----k倍区间
  4. Mysql的高可用方案及主从详细配置
  5. shell题库选择题_shell学习:几道常见shell习题
  6. 最常见的水平拆分规则
  7. fanuc机器人四边形编程_中国工控 | FANUC 机器人码垛编程详解
  8. mysql分组失效_请教MySql中使用表子查询时,试着先排序后分组,出现排序失效的原因?...
  9. solr5.0mysql_ik扩展支持Solr配置详解
  10. 我的世界java加入更多床_《我的世界》床的N种玩法,教你如何更快地入眠