Zen Coding确实是一个很不错的快速写代码的方式,自@zen_coding发布以来,受到了不少前端人士的追捧和 青睐。试想只要输入de>div#content>h1+pde>即可得到de><div id="content"><h1></h1><p></p></div>de>这 么一段代码,无疑减少了很多次对键盘的敲击,省力省键盘。你想更多的了解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插件提供的默认展开代码的快捷键是,也就是Ctrl + y and Comma。例如输入de>html:5_de>(_为光标的位置),然后输入“<c-y>,”,就会展开成
<!DOCTYPE HTML>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
</head>
<body>
_
</body>
</html>
输入de>div#foo$*2>div.barde>,然后输入“<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
截图中的例子:
如果你在这段文本外面包裹这段缩写de>div#header>ul#navigation>li.item$*>a>span:de>
About Us
Products
News
Blog
Contact Up
选中后按快捷键 Ctrl+y,
你将会得到以下结果:
<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版的测试来说,选中文字用de>div#header>ul#navigation>li.item$*>a>spande>包 括的时候出现了文本内容插入到错误的位置的问题,提交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
作者:Leeiio
原文链接:在Vim里玩Zen Coding