最近很多人被我「拉下水」尝试 (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#
的位置即可。
多谢多谢
辛苦了
希望这种初级文章多些: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 :
if hasfind<br /> let line = getline('.')<br /> let repl = substitute(line, g:TemplateDate, strftime("%d/%m/%Y"), '')<br /> call setline('.', repl)<br /> endif<br />In Template.vim:
line 10
let g:TemplateDate='#date#'
and after line delete G :
let hasfind=search(g:TemplateDate)
by
谢谢了,很实用
我也从Editplus“转”过来的(这么说不准确,其实我还是很喜欢Editplus的,没有喜新厌旧,两个都喜欢,彪悍地:“这个XX我喜欢,但是那个我也要!”),想请教下,有没有像Editplus里按Ctrl+B在“无缝浏览器”或指定浏览器快捷预览html文档的方法?
在随手写些代码片段测试的时候,可以不用保存(自动保存在临时文件夹),快速测试演示。
另外,Eclipse的大纲视图也是一个不错的设计,可以快速定位到目标代码块。期待类似的功能出现在vim里,不知道是否已有类似的插件呢,Google没找到合适的(包括搜索关键字)。
兄弟你这个是专门用在windows下的吧,我看了里面还有Template.vim还有vimfiles目录呢,- -!
gvim启动,默认的文件名是“未命名”
执行:NewTemplate html之后,新建的html模版也是“未命名”,这样VIM就提示错误:
“无法打开‘未命名’文件,请问这个有办法解决下文件名冲突吗?
[...]Vim Template (以模板新建文件)[...]
在Macvim Snapshot-49下出现Unknown function: NewTemplate会是什么原因?
找到原因了,下载的文件在Windows下编辑的,改成Mac合适的编码就好了
刚刚试了一下,很不错啊,还自己修改了html的模板,改为html5类型的,然后添加了个jQuery的,以后打开就方便多了
[...]原帖地址:http://www.gracecode.com/archives/2414/[...]