Vim下的復(fù)制與粘貼
Vim的剪切粘貼于我們常用的編輯器有很大不同,從術(shù)語(yǔ)上來(lái)看,Vim中的刪除(Delete) ,復(fù)制(yank), 粘貼(put) 就和我們常用的指令不同.
Vim 不使用單一的剪貼板進(jìn)行剪切、復(fù)制與粘貼操作,而是為這些操作提供了多 組寄存器沉删。當(dāng)使用刪除邦危、復(fù)制與粘貼命令時(shí),我們可以明確指定它們中的某一個(gè)進(jìn)行 操作毡熏。
引用一個(gè)寄存器
Vim 的刪除坦敌、復(fù)制與粘貼命令都會(huì)用到眾多寄存器中的某一個(gè)。我們可以通過(guò)給 命令加 "{register} 前綴的方式指定要用的寄存器痢法。若不指明狱窘,Vim 將缺省使用無(wú) 名寄存器。
VIM中有多種寄存器:包括:
有名寄存器疯暑,用名字(”a-“z);
無(wú)名寄存器训柴,名字為:“” 進(jìn)行任何刪除、復(fù)制操作時(shí)妇拯,它都會(huì)賦值幻馁,也是默認(rèn)的洗鸵,不用指定就可以;
黑洞寄存器:“_ 表示真的完全沒(méi)有了仗嗦,放進(jìn)去的東西都不會(huì)恢復(fù)的膘滨;
復(fù)制專(zhuān)用寄存器:”0 當(dāng)進(jìn)行復(fù)制時(shí),它就會(huì)被自己賦值稀拐;
表達(dá)式寄存器: “= 它會(huì)用于計(jì)算之類(lèi)的火邓;
系統(tǒng)剪貼板: ”+
下面給出一個(gè)范例
按鍵操作 | 緩沖區(qū)內(nèi)容 |
---|---|
yiw | content1 content2 |
w | content1 content2 |
diw | content1 |
p | content1 content2 |
但是這樣我們得到的單詞是content2, 不是我們想要的content1
這是因?yàn)? 我們運(yùn)行diw
時(shí),無(wú)名寄存器被覆蓋掉了, 這樣我們按p時(shí)得到的是剛剛刪除的單詞, 爾不是之前復(fù)制的單詞.
這時(shí), 我們可以使用復(fù)制專(zhuān)用寄存器, "0
, 只有在進(jìn)行復(fù)制時(shí), 復(fù)制專(zhuān)用寄存器才會(huì)被復(fù)制, 我們?cè)龠M(jìn)行一次操作
按鍵操作 | 緩沖區(qū)內(nèi)容 |
---|---|
yiw | content1 content2 |
w | content1 content2 |
diw | content1 |
"0p | content1 content1 |