
Zen Coding确实是一个很不错的快速写代码的方式,自@zen_coding发布以来,受到了不少前端人士的追捧和青睐。试想只要输入div#content>h1+p即可得到<div id="content"><h1></h1><p></p></div>这么一段代码,无疑减少了很多次对键盘的敲击,省力省键盘。你想更多的了解Zen Coding可以戳此查看更详细的介绍。
Vim之前我有做过简单的介绍,与其说介绍,不如说是简单的折腾。而Zen Coding的官方项目地址Google Code上还木有Zen Coding的vim插件,倒是在VIM的主页上找到了VIM 的 Zen Coding 插件ZenCoding.vim。如果想跟进这个插件的版本的话,可以Github上找到这个VIM插件的的最新情况http://github.com/mattn/zencoding-vim。
ZenCoding.vim插件提供的默认展开代码的快捷键是html:5_(_为光标的位置),然后输入“<c-y>,”,就会展开成
<!DOCTYPE HTML> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> </head> <body> _ </body> </html>
输入div#foo$*2>div.bar,然后输入“<c-y>,”就会展开成
<div id="foo1"> <div class="bar">_</div> </div> <div id="foo2"> <div class="bar"></div> </div>
当然,你也可以根据自己的习惯设置展开代码的快捷键,你可以通过在你的vimrc配置文件里写入以下配置来覆盖zencoding.vim插件的默认设置。
let g:user_zen_settings = { \ 'indentation' : ' ', \ 'perl' : { \ 'aliases' : { \ 'req' : 'require ' \ }, \ 'snippets' : { \ 'use' : "use strict\nuse warnings\n\n", \ 'warn' : "warn \"|\";", \ } \ } \} let g:user_zen_expandabbr_key = '<c-e>' "设置为ctrl+e展开 let g:use_zen_complete_tag = 1
截图中的例子:
如果你在这段文本外面包裹这段缩写div#header>ul#navigation>li.item$*>a>span:
About Us Products News Blog Contact Up
你将会得到以下结果:
<div id="header"> <ul id="navigation"> <li class="item1"><a href=""><span>About Us</span></a></li> <li class="item2"><a href=""><span>Products</span></a></li> <li class="item3"><a href=""><span>News</span></a></li> <li class="item4"><a href=""><span>Blog</span></a></li> <li class="item5"><a href=""><span>Contact Up</span></a></li> </ul> </div>
目前就目前我对zencoding.vim 0.27版的测试来说,选中文字用div#header>ul#navigation>li.item$*>a>span包括的时候出现了文本内容插入到错误的位置的问题,提交bug给作者了。
2010/03/08 22:11 更新:作者回复说修复了。在0.28版本中增加了更多的快捷键操作,所以下面的自定义快捷键配置无法生效了。可前往http://github.com/mattn/zencoding-vim获取最新版本。
2010/03/09 20:05 更新:经过和作者的探讨,原来的
zencoding.vim更新十分频繁,大家可以关注下。
VIM官方插件地址:ZenCoding.vim
zencoding.vim在Github的地址:http://github.com/mattn/zencoding-vim
Zen Coding官方地址:http://code.google.com/p/zen-coding/
Zen Coding官方提供的速查手册(PDF):http://zen-coding.googlecode.com/files/ZenCodingCheatSheet.pdf

Pingback: 在vim上尝试了一下zen coding,用来写html文件倒是快了很多 | simon的个人日志