<?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>ZZ&#039;s Blog &#187; vim</title>
	<atom:link href="http://oyj.me/tag/vim/feed/" rel="self" type="application/rss+xml" />
	<link>http://oyj.me</link>
	<description>Welcome to hell...</description>
	<lastBuildDate>Fri, 06 Jan 2012 08:02:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>VIM复制指令yank</title>
		<link>http://oyj.me/2009/02/18/vim-copy-command-yank/</link>
		<comments>http://oyj.me/2009/02/18/vim-copy-command-yank/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 02:49:18 +0000</pubDate>
		<dc:creator>ZZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://oyj.me/?p=202</guid>
		<description><![CDATA[yy 複製游標所在行整行。或大寫一個 Y。 2yy 或 y2y 複製兩行。ㄟ，請舉一反三好不好！:-) y^ 複製至行首，或 y0。不含游標所在處字元。 y$ 複製至行尾。含游標所在處字元。 yw 複製一個 word。 y2w 複製兩個字。 yG 複製至檔尾。 y1G 複製至檔首。 p 小寫 p 代表貼至游標後（下）。 P 大寫 P 代表貼至游標前（上）。 * 整行的複製，按 p 或 P 時是插入式的貼在下（上）一行。非整行的複製則是貼在游標所在處之後（前）。 &#8220;ayy 將本行文字複製到 a 緩衝區 * a 可為 26 個英文字母中的一個，如果是小寫的話，原先的內容會被清掉，如果是大寫的話是 append 的作用，會把內容附加到原先內容之後。 * &#8221; 是 Enter 鍵隔壁的那一個同上符號（ditto marks）。 &#8220;ap 將 a [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>yy  複製游標所在行整行。或大寫一個 Y。<br />
2yy 或 y2y  複製兩行。ㄟ，請舉一反三好不好！:-)<br />
y^  複製至行首，或 y0。不含游標所在處字元。<br />
y$  複製至行尾。含游標所在處字元。<br />
yw  複製一個 word。<br />
y2w 複製兩個字。<br />
yG  複製至檔尾。<br />
y1G 複製至檔首。<br />
p   小寫 p 代表貼至游標後（下）。<br />
P   大寫 P 代表貼至游標前（上）。<span id="more-202"></span></p>
<p>    * 整行的複製，按 p 或 P 時是插入式的貼在下（上）一行。非整行的複製則是貼在游標所在處之後（前）。 </p>
<p>&#8220;ayy  將本行文字複製到 a 緩衝區</p>
<p>    * a 可為 26 個英文字母中的一個，如果是小寫的話，原先的內容會被清掉，如果是大寫的話是 append 的作用，會把內容附加到原先內容之後。<br />
    * &#8221; 是 Enter 鍵隔壁的那一個同上符號（ditto marks）。 </p>
<p>&#8220;ap  將 a 緩衝區的內容貼上。</p>
<p>    * 緩衝區的術語在 vim 稱為 registers，vim 擴充了相當多的功能，有興趣深入的朋友請 :h registers。您用 d、c、s、x、y 等指令改變或刪除的內容都是放在 registers 中的。例如：您用 dd 刪除的一行，也是可以使用 p 來貼上的。只要是在緩衝區的內容都可以使用 p 來貼上，不是一定要 y 起來的內容才能用 p。因此您認為 p 是 paste 也可以，認為是 put 可能較正確。 </p>
<p>5&#8243;ayy  複製五行內容至 a 緩衝區。<br />
5&#8243;Ayy  再複製五行附在 a 內容之後，現在 a 中有十行內容了！</p>
<p>    * ㄟ！不要我一直用 a 您就認為只有 a 可以用喔。26 個英文字母都可以的，交叉運用下，您會發覺 vi(m) 肚量不小。<br />
    * 問題來了！忘記誰是誰的時候怎麼辦？ :reg（冒號命令）就會列出所有 registers 的代號及內容。您現在就試著按看看。咦！怎麼還有數目字、特殊符號的緩衝區，原來您剛剛刪除（複製）的內容就預設放在 &#8221; 這個緩衝區，然後依序是 0,1,2,&#8230;9。也就是說您按 p 不加什麼的話，是取出 &#8221; 緩衝區的內容的。% 指的是目前編輯的檔案，# 指的是前一次編輯的檔案。還有其它的呀！因為沒什麼重要，就請 :h registers 吧！registers 有個 &#8220;s&#8221; 結尾，不要搞錯了，而且 Tab 的補全鍵 vim 也支援的，也就是說您鍵入 :h regi 再按 Tab 鍵，vim 就會幫您補全，按了 Tab 後發現不是您要的，那就繼續按，總會出現您要的。:-)<br />
    * Tab 補全的功能，elvis 也有，但叫出 registers 列表的命令則沒有，您得自行記憶在您的腦袋瓜子裡。而且 elvis 的補全能力並沒 vim 強。 </p>
]]></content:encoded>
			<wfw:commentRss>http://oyj.me/2009/02/18/vim-copy-command-yank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

