博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM 模板
阅读量:4964 次
发布时间:2019-06-12

本文共 2180 字,大约阅读时间需要 7 分钟。

Vim实现自动加载模版功能可以有很多的方法,比如利用插件和AutoCmd等。根据文件名自动加载模板的功能利用网上某大牛自己写的插件实现,我针对Java代码进行简单地修改,以实现模板中的Java主类类名为文件名。

大牛的插件

插件名:template_loader.vim

下载地址:

功能:根据用户自定义的模板文件,如tpl.c,tpl.java等,在创建文件时,加载相应类型的模板。模板中可以可以设置用户名、用户邮箱、文件创建时间等信息。

使用方法

1、下载解压后,将template_loader.vim放至plugin(~/.vim/plugin/ 或者 $HOME/vimfiles/plugin/)目录

2、_vimrc目录中添加下列代码,具体设置可以参考template_loader.vim中的注释自行设置。

let g:template_load=1let g:template_path="your template file path, eg. D:/template"let g:template_tags_replacing=1let g:T_AUTHOR="your name"let g:T_AUTHOR_EMAIL="your email"let g:T_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
我在使用时,模板没有生效,后来运行命令:  :runtime /plugin/template_loader.vim ,发现导入文件失败,有特殊符号 ^M, 经查看,文档编码是dos的,改成unix后可以正常使用了

  

3、新建一个模板文件存为 templates/tpl.c(例如~/.vim/templates/tpl.c)

 

 

/* * Author:  
* EMAIL:
* File:
* Date:
*/int main(){
return 0;}

4、打开vim,输入一下命令,模板自动载入

 

e: test.c

更多选项请参考template_loader.vim的注释

 

我的改进

由于我最近在看java的基础知识,经常需要编写一些测试代码,通过大牛的template_laoder.vim可以加载自定义的java模板,但是存在一个缺陷:众所周知,java文件中public类的类名必须与文件名一致,原template_loader.vim并不能实现直接将模板中的类名替换成文件名,每次都要手动修改,略显麻烦。其实,只需往template_loader.vim中简单地添加几行代码即可解决。代码如下:

 

if exists("g:T_FILENAME_USE_FULL_PATH") && g:T_FILENAME_USE_FULL_PATH==1		let s:fn = expand("%:p")	else		let s:fn = expand("%:t")	endif	sil! execute sl.','.el."s/
/".s:fn."/g" unlet s:fn "create java template based on filename without exetension "modified by dxh1688@gmail.com let s:fn = expand("%:t:r") sil! execute sl.','.el."s/
/".s:fn."/g" unlet s:fn let s:curpos = search("
", 'W') if !empty(s:curpos) call cursor(s:curpos) sil! execute "normal df>" sil! execute "startinsert" endif

原理很简单,为template_loader.vim添加一个<T_CALSSNMAE>变量,在vim加载模板文件时,获取文件名并赋给<T_CALSSNAME>变量。因此,我的tpl.java模板文件如下:

 

 

/* * Author:  
* Email:
* File:
* Date:
*/import java.util.*;public class
{ public static void main(String[] args) {
System.out.println("Hello"); }}

转载于:https://www.cnblogs.com/thrillerz/p/4979561.html

你可能感兴趣的文章
web app开发技巧总结 (share)
查看>>
骗访问量的机房人物列传by xMinh
查看>>
tp5 入口文件访问优化
查看>>
Unknow Unknow
查看>>
C#循环中使用事务
查看>>
Spring-web中的web.xml为Servlet提供的配置选项说明
查看>>
java中对象的创建过程
查看>>
【2019/3/23】周进度报告
查看>>
Node.js 应用:Koa2 使用 JWT 进行鉴权
查看>>
零散搜集
查看>>
sql语句中order by 多个字段同时排序的应用
查看>>
创建GitHub技术博客全攻略
查看>>
Android开源工具库
查看>>
Counterfeit Dollar
查看>>
【PKI】PKI-中的几种证书的区别
查看>>
Code(组合数学)
查看>>
Java学习笔记——反射
查看>>
Linux命令速查手册
查看>>
2017总结 展望2018
查看>>
委托和事件(续)
查看>>