<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>harry.blog &#187; html</title>
	<atom:link href="http://blog.harrspy.com/tag/html/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.harrspy.com</link>
	<description>留住往昔的美丽，去开创未来的光明。</description>
	<lastBuildDate>Wed, 01 Sep 2010 14:30:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>在Vim里玩Zen Coding</title>
		<link>http://blog.harrspy.com/zen-coding-in-vim</link>
		<comments>http://blog.harrspy.com/zen-coding-in-vim#comments</comments>
		<pubDate>Tue, 24 Nov 2009 14:55:11 +0000</pubDate>
		<dc:creator>harry</dc:creator>
				<category><![CDATA[harry]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[zen-coding]]></category>

		<guid isPermaLink="false">http://blog.harryxu.cn/?p=208</guid>
		<description><![CDATA[更新 2010/3/14: 推荐使用原生vim脚本写的Zen coding插件，无须调用外部程序。 Zen Coding？ 其实我看下来有点类似snippet的代码模板，用来提高编码效率，但是 Zen Coding 是针对html编写的，可以用一系列快捷的方式生成html代码，从而提高编码的效率，并且感觉还挺有乐趣的。 比如可以用类似css选择器的语法来快速生成html，输入 div#header.content &#62; ul &#62; li*3 &#62; a 就可以生成下面的html代码 &#60;div class=&#34;content&#34; id=&#34;header&#34;&#62; &#60;ul&#62; &#60;li&#62; &#60;a href=&#34;&#34;&#62;&#60;/a&#62; &#60;/li&#62; &#60;li&#62; &#60;a href=&#34;&#34;&#62;&#60;/a&#62; &#60;/li&#62; &#60;li&#62; &#60;a href=&#34;&#34;&#62;&#60;/a&#62; &#60;/li&#62; &#60;/ul&#62; &#60;/div&#62; 介绍： 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上的，所以也要翻墙 [...]]]></description>
			<content:encoded><![CDATA[<p style="color:red;">
<strong>更新 2010/3/14:</strong><br />
推荐使用原生vim脚本写的<a href="http://www.vim.org/scripts/script.php?script_id=2981" target="_blank">Zen coding插件</a>，无须调用外部程序。</p>
<p>Zen Coding？ 其实我看下来有点类似snippet的代码模板，用来提高编码效率，但是 Zen Coding 是针对html编写的，可以用一系列快捷的方式生成html代码，从而提高编码的效率，并且感觉还挺有乐趣的。</p>
<p>比如可以用类似css选择器的语法来快速生成html，输入 <code>div#header.content &gt; ul &gt; li*3 &gt; a</code> 就可以生成下面的html代码</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>介绍：<br />
<a href="http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/" target="_blank">Zen Coding: A Speedy Way To Write HTML/CSS Code</a><br />
里面有个 <a href="http://vimeo.com/7405114" target="_blank">vimeo上的视频</a>，需要翻墙看。。。</p>
<p>googlecode上有个<a href="http://code.google.com/p/zen-coding/" target="_blank">zen-coding</a>的项目，为一些编辑器开发了相关插件，不过似乎暂时没有Vim相关的插件。</p>
<p>我找到了另一个项目 <a href="http://github.com/rstacruz/sparkup" target="_blank" >Sparkup</a>。<br />
这是一个类似zen-coding的项目，主程序也是用Python开发，提供了一个vim的脚本。<br />
使用方式也是很简单，下载后把sparkup这个文件放到用户目录下的bin目录里，然后按照里面vim/sparkup.vim里的注释来就行了。<br />
也有<a href="http://www.youtube.com/watch?v=Jw3jipcenKc" target="_blank">视频演示</a>，Youtube上的，所以也要翻墙 &#8211; -</p>
<p>如果是要在Windows下使用，我用<a href="http://www.py2exe.org/" target="_blank">py2exe</a>将sparkup转换成exe了，然后把这个exe的所在目录加到环境变量里就能用了。</p>
<p>这个项目提供的那个vim脚本用起来要改vimrc，而且使用source方式，要考虑脚本的路径，我改了下，改成插件方式了，把下面的代码保存成 sparkup.vim 放到vim的plugin目录中就行。<br />
还有我把快捷键改成 <code>Ctrl + k</code> 了，输入snippet后按下快捷键就能生成代码。</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot; Sparkup</span>
<span style="color: #adadad; font-style: italic;">&quot; Installation:</span>
<span style="color: #adadad; font-style: italic;">&quot; Put it in ~/.vim/plugin</span>
<span style="color: #adadad; font-style: italic;">&quot;</span>
<span style="color: #668080;">autocmd</span> FileType html,php <span style="color: #804040;">call</span> KeyMapping<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #804040;">function</span><span style="color: #000000;">!</span> KeyMapping<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #25BB4D;">map</span> <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>k<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>Esc<span style="color: #000000;">&gt;:.!</span>sparkup<span style="color: #000000;">&lt;</span>Cr<span style="color: #000000;">&gt;:</span><span style="color: #804040;">call</span> SparkupNext<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&lt;</span>Cr<span style="color: #000000;">&gt;</span>
    imap <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>k<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>Esc<span style="color: #000000;">&gt;:.!</span>sparkup<span style="color: #000000;">&lt;</span>Cr<span style="color: #000000;">&gt;:</span><span style="color: #804040;">call</span> SparkupNext<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&lt;</span>Cr<span style="color: #000000;">&gt;</span>
    <span style="color: #C5A22D;">&quot;map &lt;C-n&gt; &lt;Esc&gt;:call SparkupNext()&lt;Cr&gt;
    &quot;</span>imap <span style="color: #000000;">&lt;</span>C<span style="color: #000000;">-</span>n<span style="color: #000000;">&gt;</span> <span style="color: #000000;">&lt;</span>Esc<span style="color: #000000;">&gt;:</span><span style="color: #804040;">call</span> SparkupNext<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&lt;</span>Cr<span style="color: #000000;">&gt;</span>
endfunction
&nbsp;
<span style="color: #804040;">function</span><span style="color: #000000;">!</span> SparkupNext<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #C5A22D;">&quot; 1: empty tag, 2: empty attribute, 3: empty line
    let n = search('&gt;&lt;<span style="">\/</span><span style="">\|</span><span style="">\(</span>&quot;</span><span style="color: #C5A22D;">&quot;<span style="">\)</span><span style="">\|</span>^<span style="">\s</span>*$', 'Wp')
    if n == 3
        startinsert!
    else
        execute 'normal l'
        startinsert
    endif
endfunction</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.harrspy.com/zen-coding-in-vim/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
