终于搞定了Vimplate

我用vim开发ruby on rails好久了。因为rails.vim和rails自身generator的强大,一直没有意识到vim中template的欠缺。直到最近在不断的写rake任务,才发现需要一个好的template plugin。
最后我在[url=http://www.vim.org/scripts/script.php?script_id=1160]tSkeleton[/url]和[url=http://www.vim.org/scripts/script.php?script_id=1808]Vimplate[/url]中选择。tSkeleton使用了tlib.vim这个plugin,而Vimplate采用了perl的Template Toolkit。所以从扩展性上讲,Vimplate应该更胜一筹。
于是安装Template Tooklit,编写rake任务的template。可惜perl还不太熟悉,vim函数也不够了解,花了两个多小时才做出来,真是惭愧。
下面贴一下我的rake.template代码和对vimplate.vim做的修改。

#vimplate.vim.diff
22c22
< let l:cmd = s:vimplate. " -out=" . l:tmpfile . " -template=" . a:template . " -filename=" . bufname("%")
---
> let l:cmd = s:vimplate. " -out=" . l:tmpfile . " -template=" . a:template


#vimplate.pl.diff
121d120
< 'filename=s',
390d388
< filename => $opt{filename},



#rake.tt
[% PERL -%]
use File::Basename;
my $name = basename($stash->get('filename'), ".rake");
my $path = basename(dirname($stash->get('filename')));
$stash->set('path', $path);
$stash->set('name', $name);
[% END -%]
[% IF path == "." || path == "tasks" -%]
desc ""
task :[% name %], :needs => :environment do
end
[% ELSE -%]
namespace :[% path %] do
desc ""
task :[% name %], :needs => :environment do
end
end
[% END -%]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值