Vim中暫存器的使用

2021-06-14 17:19:56 字數 2081 閱讀 9748

vim中的暫存器(register)作用和windows中的剪貼簿類似,不過vim中的暫存器不止乙個,有不同的類別,有不同的用處。

例如,"ayy命令會將yy命令的結果放入暫存器a中,也就是複製該行文字到暫存器a中。然後"ap命令則表示貼上暫存器a中的內容。

具體而言,vim中常用的暫存器包括:

預設暫存器(unamed register)""

又稱無名暫存器,當使用y、d、c、s、x命令時,對應的文字將自動放入該暫存器。即使在複製或刪除文字時,已經顯示地指定了別的暫存器(例如"ayy命令),這些文字仍然會同時放入無名暫存器。

數字暫存器(numbered register)"0"9

暫存器"0的乙個用處是當你想拷貝a替換b的時候。如果直接yw拷貝a,然後dw刪除b,再貼上p的話,是不行的,因為刪除命令也會把刪除的文字放到預設暫存器中。此時,可以就使用"0p命令來貼上剛才複製的文字了。

短刪除暫存器(small delete register)"-

當刪除少於一行的文字時,這些文字預設將存放於此。

命名暫存器(named register)"a"z"a"z

也稱字母暫存器,這些暫存器不會自動填充,是提供給使用者使用的。注意,大小寫是一一對應的,小寫的表示替換原暫存器的內容,而大寫的則表示追加到原暫存器內容中。

唯讀暫存器(read-only register)

有4個暫存器是唯讀的,你只能讀這些暫存器,不能寫這些暫存器。

黑洞暫存器(black hole register)"_

類似於linux中的/dev/null的作用,任何放入該暫存器中的文字都將丟棄。黑洞暫存器也可以用於解決上文提到的「複製、刪除、貼上問題」,在刪除的時候使用"_d命令將刪除的文字扔至黑洞即可。

選擇和拖拽暫存器(selection and drop register)"*"+"~

"*暫存器使用者訪問系統剪貼簿,在windows下和"+暫存器相同;

在linux下,"+暫存器包含選中的文字,而"*暫存器包含複製的文字;

"~暫存器包含從其它應用程式拖拽到vim中的文字。

使用"*暫存器和"+暫存器,我們就可以方便的在vim和外部應用程式中複製貼上了。

搜尋模式暫存器(search pattern register)"/

"/暫存器包含上次文字搜尋的命令。

表示式暫存器(expression register)"=

輸入"=命令後,vim底部會出現乙個以"="開頭的提示行,可以在這裡輸入表示式例如5*27,按回車確認後,表示式的取值即放到了該暫存器中,隨後即可貼上該值。

另外,輸入的表示式不僅可以包含通常的算術運算子,還可以使用vim特定的函式和運算子,例如"=$path得到環境變數path的值。

使用:register:reg命令可以檢視當前已定義的所有暫存器的值。使用:help registers命令可以檢視相關幫助。

reference

本文出自

VIM學習 暫存器

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

VIM基礎概念(暫存器)

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

vim之暫存器的使用和配置

使用vim的過程中會發現,用 y 拷貝的文字是沒辦法在vim外部使用的,同理在外部複製的文字也沒辦法直接粘帖到vim文字中。這時,可以使用暫存器功能,選中需要複製的文字,輸入 y,然後在外部就可以右鍵粘帖了。同理在外部複製的文字,也可以通過 p 來粘帖到vim文字中,當然也可以通過 shift in...