每日一Vim(8)暫存器

2021-09-01 16:27:03 字數 1653 閱讀 3575

先丟擲乙個問題:每次開啟vim,想找一段文本來練練手,於是開啟網頁copy了一段,問題來了,怎樣貼上到vim的編輯器裡頭去呢?如果你還在ctrl+v的話,說明你還無法割捨windows,就像東方姑娘忘不了令狐沖):這裡暫且告訴你如何貼上:shift+insert 兩個鍵聯合起來。再來看下面的原理

暫存器是vim用來儲存檔案的臨時空間,當使用命令y(yank)或d(delete)複製刪除文字時,該文字就會被儲存在暫存器中,通過p(put)命令插入剛刪除或複製的內容。vim的暫存器分為不同的種類:

在normal模式下輸入:reg,您是否看到很多「(雙引號)開頭的數字了呢,這些都是暫存器,(如果暫時沒看到,那麼在對文字做幾個操作,比如:dd,yy等),這些暫存器裡儲存了最近刪除的和複製的文字。

數字暫存器有十個,分別是:"0,"1,"2... "9(注意:數字前有個雙引號),暫存器"0儲存上一次複製(y)操作的文字,"1到"9暫存器儲存最近9次刪除的文字行(注意這個「行」字),"1儲存的內容是最最近一次刪除的內容(也就是說最後一次執行刪除命令儲存的內容)"2儲存的是倒數第二次刪除的內容,依此類推,直到"9,如果又有新的操作,那麼"9的內容將會被"8的內容替換,先前」9的內容將被丟棄。 

那麼p(put)命令貼上是哪個暫存器中的內容呢?有時候是貼上的是"1暫存器的,有時貼上的是"0暫存器中的,但是總的原則就是貼上最近一次刪除或者複製的內容,如果刪除是最近的一次,就是貼上"1的,也就是貼上剛剛刪除的文字,如果複製是最近的一次操作,那麼貼上的內容是"0中的,也就是貼上剛剛複製的內容。

"a,"b,"c...都是字母暫存器,也許你執行:reg的時候看不到這些命令,不要緊,稍後就有了。之前貼上我們用的都是p命令,如果我想貼上其他暫存器裡面的內容呢,你想到了嗎?答案就是:暫存器的名稱+p。現在我們新建乙個字母暫存器,把當前三行儲存到"a暫存器中去,具體操作如下:在normal模式下輸入"a3yy,這樣當前三行就儲存在"a中去了,貼上同樣在normal模式下,"3p即可。如果是大寫字母的暫存器,如執行:"cdd:他的作用是把當前行刪除,再把內容追加到"c暫存器中,也就是說字母暫存器沒有大寫之分,只是功能上有區別,大寫就是追加,小寫是替換

"":無名暫存器,p命令貼上的內容,儲存最近一次刪除或複製的內容。

「-:(-是個減號)小刪除暫存器(small delete register),前面說過要您注意這個」行「字,也就是說並不是所有刪除的文字都會儲存在數字暫存器中,如果你刪除的只是乙個單詞或字母:dw或者x,那麼這個單詞並不會儲存在"1暫存器中,而是儲存在"-暫存器裡面。所有不包含換行符的刪除都會儲存在此暫存器中。

"*:這個就是系統暫存器嘍,最開始的問題的第二個答案知道了吧 

當然還有一些暫存器,這裡就不一一介紹了。

VIM學習 暫存器

1.檢視暫存器 reg 無名暫存器,進行刪除 複製操作時賦值 0 複製專用暫存器,進行複製操作時賦值 1 9 存放最近使用的剪下,刪除操作的內容 如果未指定編號,9個暫存器會對內容進行輪流存放,即有新的內容時,將 1的內容推到 2,2到3,3到4 8到9,原有9的內容被清除 a z 命名類暫存器,分...

8位暫存器

library ieee use ieee.std logic 1164.all use ieee.std logic unsigned.all entity test34 is port clk,oe instd logic d instd logic vector 7 downto 0 q ou...

VIM基礎概念(暫存器)

於 現在已經可以熟練使用vim的大多數基本命令 功能來進行專案 的開發了,但是在專案的開發過程中,依然會感覺到一些操作效率比較低,比如通過h j k l來進行游標的大範圍移動這類操作,顯然vim提供了更高效的命令操作方式。最近經常需要完成的工作就是需要在 之間來回的複製 貼上 搜尋和替換,常用的d ...