快速从模板建立文件

作者:手气不错 发布时间: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 条回复

  1. asing October 9th, 2008 at 12:27 am #1
    asing

    多谢多谢

    辛苦了



    希望这种初级文章多些:D

  2. sevear October 9th, 2008 at 06:01 am #2
    sevear

    多谢,这就学习下

  3. like October 12th, 2008 at 09:40 am #3
    like

    我发现一个问题,如果为c/c++头文件建立一个名为h.tpl的模板,执行:NewTemplate h后,语法没有加亮。



    经过检查脚本发现,它执行了execute 'setlocal filetype='.a:name;然而.h的filetype=cpp



    请问有何办法解决?

  4. 手气不错 October 13th, 2008 at 12:51 am #4
    手气不错

    @like 可以加个判断,考虑有空再继续完善一下~

  5. 推背图 October 16th, 2008 at 05:19 am #5
    推背图

    呵呵。不错。学习了

  6. Include date November 24th, 2008 at 04:46 am #6
    Include date

    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

  7. BrightChen January 23rd, 2009 at 06:49 am #7
    BrightChen

    谢谢了,很实用

  8. 闲耘 April 5th, 2009 at 03:20 am #8
    闲耘

    我也从Editplus“转”过来的(这么说不准确,其实我还是很喜欢Editplus的,没有喜新厌旧,两个都喜欢,彪悍地:“这个XX我喜欢,但是那个我也要!”),想请教下,有没有像Editplus里按Ctrl+B在“无缝浏览器”或指定浏览器快捷预览html文档的方法?

    在随手写些代码片段测试的时候,可以不用保存(自动保存在临时文件夹),快速测试演示。

  9. 闲耘 April 6th, 2009 at 12:38 am #9
    闲耘

    另外,Eclipse的大纲视图也是一个不错的设计,可以快速定位到目标代码块。期待类似的功能出现在vim里,不知道是否已有类似的插件呢,Google没找到合适的(包括搜索关键字)。

添加新回复

Yahoo 统计