快速从模板建立文件
作者:手气不错 发布时间:October 8, 2008 分类:Vim
最近很多人被我“拉下水”尝试 (g)Vim,为了支持他们,我会编写些 Vim 脚本方便大家。
这里有个现成的需求,就是很多从 Editplus 转过来的同学,想让 Vim 有从模板新建文件的功能。那么,这篇文章可能就是你们想要的。
安装步骤
下载代码包以后,解压缩到 $VIMRUNTIME 目录。重新启动 Vim,输入
:NewTemplate xhtml
就可以建立个 XHTML 模板,如果是 Vim 7.0 以上的版本,还有个命令
:NewTemplateTab xhtml
即可在新的标签页中新建文件。当然可以映射快捷键,快速新建常用的文件类型,比如我的
" 新建 XHTML 的快捷键 map nn :NewTemplateTab xhtml<cr>
在 normal 模式下,连续按两次 n 就可以在新标签页建立 xhtml 文件了。
配置脚本
此插件文件的路径在
$VIMRUNTIME/plugin/Template.vim
下,主要有两个配置选项,默认为
let g:TemplatePath=$VIM.'/vimfiles/template/' let g:TemplateCursorFlag='#cursor#'
其中,g:TemplatePath 为模板路径,而 g:TemplatePathCursorFlag 则为新建模板以后鼠标移动到的位置(如无指定,则移动到文件底部)。
增加模板
脚本支持用户新建模板,找到 g:TemplatePath 中的 xhtml.tpl 目录。参考其中的内容
<html>
...
<body>
#cursor#
</body>
</html>应该很容易理解。比如需要新建 python 模板。则在 g:TemplatePath 中建立 python.tpl 并加入 #cursor# 的位置即可。



已有 9 条回复
多谢多谢
辛苦了
希望这种初级文章多些:D
多谢,这就学习下
我发现一个问题,如果为c/c++头文件建立一个名为h.tpl的模板,执行:NewTemplate h后,语法没有加亮。
经过检查脚本发现,它执行了execute 'setlocal filetype='.a:name;然而.h的filetype=cpp
请问有何办法解决?
@like 可以加个判断,考虑有空再继续完善一下~
呵呵。不错。学习了
Hi, thx for your script. I have adding inclusion of date like this :
In Template.vim:
line 10
let g:TemplateDate='#date#'
and after line delete G :
let hasfind=search(g:TemplateDate)
if hasfind
let line = getline('.')
let repl = substitute(line, g:TemplateDate, strftime("%d/%m/%Y"), '')
call setline('.', repl)
endif
by
谢谢了,很实用
我也从Editplus“转”过来的(这么说不准确,其实我还是很喜欢Editplus的,没有喜新厌旧,两个都喜欢,彪悍地:“这个XX我喜欢,但是那个我也要!”),想请教下,有没有像Editplus里按Ctrl+B在“无缝浏览器”或指定浏览器快捷预览html文档的方法?
在随手写些代码片段测试的时候,可以不用保存(自动保存在临时文件夹),快速测试演示。
另外,Eclipse的大纲视图也是一个不错的设计,可以快速定位到目标代码块。期待类似的功能出现在vim里,不知道是否已有类似的插件呢,Google没找到合适的(包括搜索关键字)。
添加新回复