更新 2010/3/14:
推荐使用原生vim脚本写的Zen coding插件,无须调用外部程序。
Zen Coding? 其实我看下来有点类似snippet的代码模板,用来提高编码效率,但是 Zen Coding 是针对html编写的,可以用一系列快捷的方式生成html代码,从而提高编码的效率,并且感觉还挺有乐趣的。
比如可以用类似css选择器的语法来快速生成html,输入 div#header.content > ul > li*3 > a 就可以生成下面的html代码
<div class="content" id="header">
<ul>
<li>
<a href=""></a>
</li>
<li>
<a href=""></a>
</li>
<li>
<a href=""></a>
</li>
</ul>
</div>介绍:
Zen Coding: A Speedy Way To Write HTML/CSS Code
里面有个 vimeo上的视频,需要翻墙看。。。
googlecode上有个zen-coding的项目,为一些编辑器开发了相关插件,不过似乎暂时没有Vim相关的插件。
我找到了另一个项目 Sparkup。
这是一个类似zen-coding的项目,主程序也是用Python开发,提供了一个vim的脚本。
使用方式也是很简单,下载后把sparkup这个文件放到用户目录下的bin目录里,然后按照里面vim/sparkup.vim里的注释来就行了。
也有视频演示,Youtube上的,所以也要翻墙 - -
如果是要在Windows下使用,我用py2exe将sparkup转换成exe了,然后把这个exe的所在目录加到环境变量里就能用了。
这个项目提供的那个vim脚本用起来要改vimrc,而且使用source方式,要考虑脚本的路径,我改了下,改成插件方式了,把下面的代码保存成 sparkup.vim 放到vim的plugin目录中就行。
还有我把快捷键改成 Ctrl + k 了,输入snippet后按下快捷键就能生成代码。
" Sparkup
" Installation:
" Put it in ~/.vim/plugin
"
autocmd FileType html,php call KeyMapping()
function! KeyMapping()
map <C-k> <Esc>:.!sparkup<Cr>:call SparkupNext()<Cr>
imap <C-k> <Esc>:.!sparkup<Cr>:call SparkupNext()<Cr>
"map <C-n> <Esc>:call SparkupNext()<Cr>
"imap <C-n> <Esc>:call SparkupNext()<Cr>
endfunction
function! SparkupNext()
" 1: empty tag, 2: empty attribute, 3: empty line
let n = search('><\/\|\(""\)\|^\s*$', 'Wp')
if n == 3
startinsert!
else
execute 'normal l'
startinsert
endif
endfunction
评论
找Zen Coding找到了这个,非常酷。。。
keke 发布
找Zen Coding找到了这个,非常酷。。。
茄子啊,这个语法是什么?难道就是传说中的CSS3的选择器?
francis 发布
茄子啊,这个语法是什么?难道就是传说中的CSS3的选择器?太神奇了啊。
对了,话说我的VIM在编辑*.php文件的时候,html标签总是无法自动缩进,你那里出现过没有?
"Auto indent set ai "Smart
harry 发布
vimrc里面有没有这2句?
[...] Vim的见在Vim里玩Zen
在UlrtraEdit中配置Z... 发布
[...] Vim的见在Vim里玩Zen Coding,Vim还木有用过,out了 [...]
这个东西太棒了,写点小东西就不用出动aptana了,用vi
jiazhoulvke 发布
这个东西太棒了,写点小东西就不用出动aptana了,用vim直接搞定。
能不能说一下这个东西在vim 到底怎么使用啊?
darkangle 发布
能不能说一下这个东西在vim 到底怎么使用啊? 看了半天也没看明白~~~
我感觉说的挺明白了吧,你如果熟悉vim的话设置起来应该很方
harry 发布
我感觉说的挺明白了吧,你如果熟悉vim的话设置起来应该很方便的阿,就是把那个Sparkup脚本放到环境变量,然后把那个vim脚本放到vim的plugin目录种就行了阿。
请问有编译好的Windows版本可供下载没有?
闲耘™ 发布
请问有编译好的Windows版本可供下载没有?
http://www.py2exe.org/index.c
harry 发布
http://www.py2exe.org/index.cgi/Tutorial
你可以看下这个,很方便的
是否可以给出具体的下载包以及更详细的安装步骤呢?我只创建了
一七 发布
是否可以给出具体的下载包以及更详细的安装步骤呢?我只创建了sparkup.vim,但是你所说的环境变量文件是指什么呢?
http://www.vim.org/scripts/sc
harry 发布
http://www.vim.org/scripts/script.php?script_id=2981 要不你试试这个?
好的,我试试,谢谢了。
一七 发布
好的,我试试,谢谢了。
[...]
推荐一个Vim的ZenCodi... 发布
[...] 之前我介绍过一个可以在Vim中使用ZenCoding方式编写Html/CSS的插件Sparkup,虽然非常不错,但是该插件的核心脚本是用python写的,需要在vim调用python脚本,配置起来稍许有些麻烦。 [...]
强大!
maxint 发布
强大!
如何把 div#header.content > ul
newer 发布
如何把
div#header.content > ul > li*3 > a
中的li和li之间的选择器合法为一行
这个目前我也没找到方法,好像他生成的代码就是这样的
harry 发布
这个目前我也没找到方法,好像他生成的代码就是这样的