<?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>Kanru&#039;s 探險日誌 &#187; vim</title>
	<atom:link href="http://blog.kanru.info/archives/tag/vim/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.kanru.info</link>
	<description>當發現美好的事物時，所要做的第一件事，就是把它分享給所有人</description>
	<lastBuildDate>Sun, 23 May 2010 09:51:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Vim &#8211; 以游標位置為基礎捲動螢幕</title>
		<link>http://blog.kanru.info/archives/510</link>
		<comments>http://blog.kanru.info/archives/510#comments</comments>
		<pubDate>Mon, 01 Dec 2008 15:40:22 +0000</pubDate>
		<dc:creator>kanru</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[小工具]]></category>
		<category><![CDATA[爬網探險]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blog.kanru.info/?p=510</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>不是人人都有大螢幕可以一次容納幾百行程式碼，且看文件時我們常會希望可以從頭看到尾，或者是寫文章時我們會希望可以從螢幕的最上頭開新段落然後一次寫一整個螢幕。</p>

<p>如果不熟悉以下命令，你可能常常要用 hjkl 或方向鍵去移動游標，調整顯示的範圍。但是，其實不用這麼辛苦。</p>

<p><strong>zt</strong> 把游標下這行放到螢幕最上方</p>

<p><strong>zz</strong> 放到中間</p>

<p><strong>zb</strong> 放到最後</p>

<p>比如說，要開始寫新段落我只要 <strong>L</strong> 移動游標到最後，然後 <strong>zt</strong> ，我就會有一整頁空白的空間可以開始揮灑 <img src='http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kanru.info/archives/510/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vim &#8211; 檔名太長怎麼辦</title>
		<link>http://blog.kanru.info/archives/487</link>
		<comments>http://blog.kanru.info/archives/487#comments</comments>
		<pubDate>Sun, 30 Nov 2008 11:25:59 +0000</pubDate>
		<dc:creator>kanru</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[小工具]]></category>
		<category><![CDATA[爬網探險]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blog.kanru.info/?p=487</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>這是 vim 的一個小技巧，考慮以下情境：</p>

<ol>
<li>我現在在 <code>~/</code> 目錄</li>
<li>因為某個原因我打開 vim 編輯 <code>/usr/src/foodir/src/bardoor.c</code></li>
<li>看了看，發現需要參考同目錄下的 <code>bardoor.h</code>，於是打入命令 <code>:tabe </code></li>
<li>接下來怎麼辦？因為目前工作目錄是 <code>~/</code>，如果要用 vim 的 tab 補完的話還是需要把路徑再打一次</li>
<li>想一想再看答案 <img src='http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>

<p><span id="more-487"></span></p>

<p>答案是 <strong>:tabe %:r.h</strong></p>

<p>利用 vim 的 filename-modifiers 可以輕鬆作到，vim 有 10 個這樣的 modifier 可以作用於 &#8220;%&#8221;，&#8221;#&#8221;，&#8221;#n&#8221;，&#8221;&lt;cfile&gt;&#8221;，&#8221;&lt;sfile&gt;&#8221;，&#8221;&lt;afile&gt;&#8221; 或 &#8220;&lt;abuf&gt;&#8221; 出現的地方：</p>

<table width='100%'>
<tr><td><strong>:p</strong></td> <td>完整路徑</td></tr>
<tr><td><strong>:8</strong></td> <td>變成 8.3 格式 (win32 用)</td></tr>
<tr><td><strong>:~</strong></td> <td>轉換為相對於 <code>~/</code> 目錄的路徑</td></tr>
<tr><td><strong>:.</strong></td> <td>轉換成相對於 <code>./</code> 目錄</td></tr>
<tr><td><strong>:h</strong></td> <td>保留路徑頭部，相當於 dirname 指令</td></tr>
<tr><td><strong>:t</strong></td> <td>保留檔案名，相當於 basename 指令</td></tr>
<tr><td><strong>:r</strong></td> <td>保留檔案名並去除延伸檔案名</td></tr>
<tr><td><strong>:e</strong></td> <td>只留下延伸檔案名</td></tr>
<tr><td><strong>:s?pat?sub?</strong></td> <td>用 sub 取代第一個出現的 pat</td></tr>
<tr><td><strong>:g?pat?sub?</strong></td> <td>同上，全部取代</td></tr>
</table>

<p />

<p>例如，如果文件名是 &#8220;src/version.c&#8221;，當前目錄是 &#8220;/home/mool/vim&#8221;：</p>

<table width='100%'>
<tr><td><strong>:p</strong></td>                    <td>/home/mool/vim/src/version.c</td></tr>
<tr><td><strong>:p:.</strong></td>                                 <td>src/version.c</td></tr>
<tr><td><strong>:p:~</strong></td>                           <td>~/vim/src/version.c</td></tr>
<tr><td><strong>:h</strong></td>                                   <td>src</td></tr>
<tr><td><strong>:p:h</strong></td>                  <td>/home/mool/vim/src</td></tr>
<tr><td><strong>:p:h:h</strong></td>                <td>/home/mool/vim</td></tr>
<tr><td><strong>:t</strong></td>                                       <td>version.c</td></tr>
<tr><td><strong>:p:t</strong></td>                                     <td>version.c</td></tr>
<tr><td><strong>:r</strong></td>                                   <td>src/version</td></tr>
<tr><td><strong>:p:r</strong></td>                  <td>/home/mool/vim/src/version</td></tr>
<tr><td><strong>:t:r</strong></td>                                     <td>version</td></tr>
<tr><td><strong>:e</strong></td>                                               <td>c</td></tr>
<tr><td><strong>:s?version?main?</strong></td>                     <td>src/main.c</td></tr>
<tr><td><strong>:s?version?main?:p</strong></td>    <td>/home/mool/vim/src/main.c</td></tr>
<tr><td><strong>:p:gs?/?\\?</strong></td>           <td>\home\mool\vim\src\version.c</td></tr>
</table>

<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.kanru.info/archives/487/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
