<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[VIM 编程时括号的自动扩展]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 04 Aug 2011 14:16:07 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	把下面代码贴到.vimrc文件中就行了，然后，重新打开vim，写一个函数试试，我感觉还不错的...<br/><textarea name="code" class="shell" rows="15" cols="100">
:inoremap &lt;S-ENTER&gt; &lt;c-r&gt;=SkipPair()&lt;CR&gt;
:inoremap &lt;S-SPACE&gt; &lt;ESC&gt;la
:inoremap &lt;C-ENTER&gt; &lt;ESC&gt;A;&lt;CR&gt;
:inoremap ( ()&lt;ESC&gt;i
:inoremap ) &lt;c-r&gt;=ClosePair(&#039;)&#039;)&lt;CR&gt;
:inoremap &#123; &lt;c-r&gt;=ClsoeBrace()&lt;CR&gt;
:inoremap &#125; &lt;c-r&gt;=ClosePair(&#039;&#125;&#039;)&lt;CR&gt;
:inoremap [ []&lt;ESC&gt;i
:inoremap ] &lt;c-r&gt;=ClosePair(&#039;]&#039;)&lt;CR&gt;
:inoremap ;; &lt;ESC&gt;A;&lt;CR&gt;
function ClosePair(char)
&nbsp;&nbsp; if getline(&#039;.&#039;)[col(&#039;.&#039;) - 1] == a:char
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;Right&gt;&quot;
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a:char
&nbsp;&nbsp; endif
endf
function Semicolon()
&nbsp;&nbsp; &quot;echo getline(&#039;.&#039;)[col(&#039;.&#039;)]
&nbsp;&nbsp; if getline(&#039;.&#039;)[col(&#039;.&#039;)] == &#039;)&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&lt;ESC&gt;A;&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;)] == &#039;&#125;&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;ESC&gt;A;&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;)] == &#039;]&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;ESC&gt;A;&quot;
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;;&quot;
&nbsp;&nbsp; endif
endf
function SkipPair()
&nbsp;&nbsp; if getline(&#039;.&#039;)[col(&#039;.&#039;) - 1] == &#039;)&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;ESC&gt;o&quot;
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;normal j
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let curline = line(&#039;.&#039;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let nxtline = curline
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while curline == nxtline
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if getline(&#039;.&#039;)[col(&#039;.&#039;) - 1] == &#039;&#125;&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;normal j
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let nxtline = nxtline + 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let curline = line(&#039;.&#039;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endwhile
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#92;&lt;ESC&gt;o&quot;
&nbsp;&nbsp; endif
endf
function ClsoeBrace()
&nbsp;&nbsp; if getline(&#039;.&#039;)[col(&#039;.&#039;) - 2] == &#039;=&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;) - 3] == &#039;=&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;) - 1] == &#039;&#123;&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;) - 2] == &#039;&#123;&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;) - 2] == &#039;,&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; elseif getline(&#039;.&#039;)[col(&#039;.&#039;) - 3] == &#039;,&#039;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#125;&#92;&lt;ESC&gt;i&quot;
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;&#123;&#92;&lt;ENTER&gt;&#125;&#92;&lt;ESC&gt;O&quot;
&nbsp;&nbsp; endif
endf
</textarea><br/>来源：http://phpor.net/blog/post/881/
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] VIM 编程时括号的自动扩展]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>