亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux CentOS7 vim寄存器解讀

 更新時間:2023年11月08日 15:22:21   作者:qq_36142959  
這篇文章主要介紹了Linux CentOS7 vim寄存器使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

計算機中通常所說的寄存器register一般指的是CPU中的寄存器,用來暫存CPU處理所需要的指令、數(shù)據(jù)等。

vim中同樣也有寄存器,使用的方式和CPU非常類似。

vim中的寄存器(register)作用和windows中的剪切板類似,不過vim中的寄存器不止一個,有不同的類別,有不同的用處。

vim的寄存器是一組用于保存文本的簡單容器。它們既可像剪貼板那樣,剪切、復(fù)制和粘貼文本;也可以記錄一系列按鍵操作,把它們錄制成宏。

vim常規(guī)使用系統(tǒng)剪貼板進行剪切、復(fù)制與粘貼操作,如果再運用寄存器手段,將為刪除、復(fù)制與粘貼等操作提供更多選擇,而更具靈活性,同時也提高了編輯文本效率。

一、認(rèn)識寄存器        

vim的寄存器可以看成vim中額外用來存儲信息的區(qū)域,雖然看不見,但是如果使用d、x、s、y、p等命令,都無意識地使用了vim的寄存器。

你可能已經(jīng)在復(fù)制或刪除文本并用p或P粘貼它們到別處的時候使用過Vim的寄存器了。但是,你知道Vim總共有10種不同類型的寄存器嗎?如果正確地使用Vim寄存器,將幫助您從重復(fù)的輸入中解放出來。

總的來說,寄存器就是一個可自定義的多重剪切板,超級剪切板。

1.寄存器分類

vim所擁有的10種寄存器類型:

匿名寄存器("")編號寄存器("0-9)小刪除寄存器("-)命名寄存器("a-z)只讀寄存器(":,".,"%)Buffer交替文件寄存器("#)表達式寄存器("=)選取和拖放寄存器("*,"+)黑洞寄存器("_)搜索模式寄存器("/) 2.寄存器作用與功能

常用的有匿名寄存器("")和命名寄存器("a-z)。

  • 匿名寄存器("")

匿名寄存器,又常稱為無名寄存器,是vim默認(rèn)的寄存器,復(fù)制、刪除、修改等操作的內(nèi)容都會保存在該寄存器中。

倘若沒有指定要使用的寄存器,vim將缺省使用無名寄存器,它可以用雙引號表示。為了顯式地引用該寄存器,需要使用兩個雙引號。例如,""p,它完全等同于p命令。x、s、d、c與y命令(以及它們對應(yīng)的大寫命令)都會覆蓋無名寄存器中的內(nèi)容。無論哪一種情況,都可以通過加"{register}前綴來指定另外一個寄存器,但無名寄存器總是缺省的。事實上,無名寄存器的內(nèi)容很容易被覆蓋,不小心會導(dǎo)致問題發(fā)生。

  • 命名寄存器("a-z)

命名寄存器使用字母a-z來命名。a-z命名寄存器可以存儲復(fù)制的、修改的、和被刪除的文本。用戶需要顯示地告訴vim要使用的命名寄存器。

追加文本:使用大寫版本的命名寄存器來向原來的命名寄存器中追加文本。

  • 復(fù)制專用寄存器("0)

就是使用y命令復(fù)制的內(nèi)容都會存放到這個寄存器中。

緩存最近操作內(nèi)容,復(fù)制與刪除有別。

  • 黑洞寄存器("_)

顧名思義,這個寄存器的功能和/dev/null設(shè)備非常地相似,就是將一切輸入其中的東西都吞噬掉。我們常用x命令來刪除某個字符,用dd命令來刪除某行,其實這些都不是刪除,是剪切,真正的刪除應(yīng)該是這些命令:

  • "_dd   //刪除某行
  • "_x    //刪除光標(biāo)下的字符

文件名寄存器("%)

  • "%代表的是文件名寄存器,存放的是當(dāng)前正在編輯的文件名

二、引用寄存器

我們重點討論命名寄存器的命名、使用等操作。

本文中提到的d命令,y命令,c命令指的是和這個操作符相關(guān)聯(lián)的命令集合,比如和y操作符相關(guān)聯(lián)的一些命令如下:

  • yy //復(fù)制當(dāng)前行
  • yw //當(dāng)前光標(biāo)下面的這個單詞
  • yit //復(fù)制一個html標(biāo)簽中的內(nèi)容
  • yft //復(fù)制當(dāng)前行上光標(biāo)到第一個t之間的所有內(nèi)容
  • yiw //復(fù)制一個單詞的內(nèi)容(yank in word)

vim的刪除、復(fù)制與粘貼命令都會用到眾多寄存器中的某一個??梢酝ㄟ^給命令加"{register}前綴的方式指定要用的寄存器。若不指明,vim將缺省使用無名寄存器。

1.在普通模式中使用寄存器

不論在哪一類模式中,都是先定義(或生成)寄存器,再使用。

如果想把當(dāng)前單詞復(fù)制到寄存器a中,可執(zhí)行"ayiw,或者,可以用"bdd,把當(dāng)前整行文本剪切至寄存器b中。在此之后,既可以輸入"ap粘貼來自寄存器a的單詞,也可使用"bp命令粘貼來自寄存器b的一整行文本,兩者互不干擾。

比如,%代表的是文件名寄存器,存放的是當(dāng)前正在編輯的文件名,我們現(xiàn)在打開一個文件demo.txt,處于普通模式,此時輸入以下內(nèi)容:

"%p

//表示將文件名寄存器的內(nèi)容粘貼到當(dāng)前行

文件內(nèi)容就變成這個樣子了:

2.在底行模式中使用寄存器

除了普通模式的命令外,vim也提供用于刪除、復(fù)制與粘貼操作的Ex命令(底行模式下)。

例如,可以執(zhí)行:delete c,把當(dāng)前行剪切到寄存器c,然后再執(zhí)行:put c命令將其粘貼至當(dāng)前光標(biāo)所在行之下。

delete命令可以簡寫為d。

  • 執(zhí)行d b命令,刪除當(dāng)前行,內(nèi)容存入b寄存器中
  • 執(zhí)行nd d命令,刪除第n行,內(nèi)容存入d寄存器中。

如下圖,n=8

執(zhí)行粘貼命令時,不能把put簡寫為p,會報錯。

  • 執(zhí)行put d命令時,將在當(dāng)前行后粘貼d寄存器中的內(nèi)容。
  • 執(zhí)行nput d命令時,將在第n行后粘貼d寄存器中的內(nèi)容。

如下圖,n=3

一個很酷的技巧是將黑洞寄存器("_)傳給:put命令。因為黑洞寄存器不保存任何值,:put  _命令將插入一個新的空白行。您可將這個與全局命令聯(lián)合起來,插入多個空行。

3.在編輯模式中使用寄存器

在編輯模式中,我們不能定義或命名寄存器(這是因為:只能通過命令的方式命名寄存器,在編輯模式下,不能執(zhí)行命令,就不能命名寄存器)。

在編輯模式下,我們可以使用在其他模式下命名的寄存器(如果是在一個服務(wù)器,一個系統(tǒng)中,其他人在其他文檔中命名的寄存器)。具體使用方法:按下ctrl+r鍵,(將顯示一個")再加上相應(yīng)的寄存器的名字,就可以插入寄存器中的內(nèi)容。

在編輯模式下,一般用的最多的是系統(tǒng)剪切板:選擇內(nèi)容;用ctrl+insert復(fù)制;用shift+insert粘貼。

4. 在可視模式中使用寄存器

在可視模式下,一般用的最多的是無名寄存器。選擇內(nèi)容后,錄入y命令進行復(fù)制,錄入d命令刪除內(nèi)容。

三、查看寄存器

查看寄存器里面緩存的內(nèi)容,可以使用多個命令,如dis,registers,register,reg等。

  • :reg [寄存器名稱]
  • :reg      # 查看當(dāng)前所有寄存器
  • :reg a b c      # 查看指定的命名寄存器

四、刪除寄存器

從技術(shù)上來說,我們沒有必要來清除任何寄存器,因為你下一個使用來存儲文本的寄存器會自動覆蓋該寄存器中之前的內(nèi)容。

如果想清除寄存器中的內(nèi)容,可以使用表達式 :let @a='' 來將寄存器 "a的值設(shè)為空的字符串。

寄存器的生命周期是很長的,即使服務(wù)器重啟,只要能正常進入系統(tǒng),寄存器里的內(nèi)容都是一直存在的。

五、寄存器與剪切板

在討論寄存器時,一個繞不開的話題是與系統(tǒng)剪切板的關(guān)系。

系統(tǒng)剪切板是所有操作系統(tǒng)必備的工具或功能,在復(fù)制、刪除、粘貼等方面發(fā)揮著重要作用。

在linux中,通過設(shè)置可以打通寄存器與剪切板,即剪切板用"+寄存器表示,與其他寄存器一樣使用。

其最大好處就是可以在普通模式、命令行模式下使用剪切板中的內(nèi)容。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux如何修改SSH端口號

    Linux如何修改SSH端口號

    這篇文章主要介紹了Linux如何修改SSH端口號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Linux取消目錄的執(zhí)行權(quán)限的具體步驟

    Linux取消目錄的執(zhí)行權(quán)限的具體步驟

    用戶對一個文件或目錄具有訪問權(quán)限,這些訪問權(quán)限決定了誰能訪問,以及如何范圍這些文件和目錄,本文給大家介紹了Linux取消目錄的執(zhí)行權(quán)限的具體步驟,并通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-10-10
  • linux下虛擬機操作及輸入法設(shè)置方式

    linux下虛擬機操作及輸入法設(shè)置方式

    這篇文章主要介紹了linux下虛擬機操作及輸入法設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 基于Linux中vnc配置端口號的修改方法

    基于Linux中vnc配置端口號的修改方法

    今天小編就為大家分享一篇基于Linux中vnc配置端口號的修改方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Linux 下讀XML 的類詳解及實現(xiàn)代碼

    Linux 下讀XML 的類詳解及實現(xiàn)代碼

    這篇文章主要介紹了 Linux 下讀XML 的類詳解及實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • linux對文件解壓或打包壓縮的方法

    linux對文件解壓或打包壓縮的方法

    這篇文章主要介紹了linux對文件解壓或打包壓縮的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • linux在vim中查找和替換方式

    linux在vim中查找和替換方式

    Linux中使用Vim編輯器查找和替換文本的方法非常直觀和強大,Vim支持多種查找和替換的命令,包括向前查找、向后查找、查找并替換文本、替換所有匹配項、確認(rèn)每個替換和在多個文件中進行替換等
    2025-02-02
  • CentOS 6.5 web服務(wù)器apache的安裝與基本設(shè)置

    CentOS 6.5 web服務(wù)器apache的安裝與基本設(shè)置

    這篇文章主要介紹了CentOS 6.5 web服務(wù)器apache的安裝與基本設(shè)置,需要的朋友可以參考下
    2017-09-09
  • 詳解Linux進程調(diào)度策略

    詳解Linux進程調(diào)度策略

    這篇文章主要介紹了詳解Linux進程調(diào)度策略,以及代碼實現(xiàn)中重要環(huán)節(jié)的指點,一起來學(xué)習(xí)下。
    2017-11-11
  • Linux yum安裝postgresql出現(xiàn)Bad GPG signature問題的解決方法

    Linux yum安裝postgresql出現(xiàn)Bad GPG signature問題的解決

    這篇文章給大家介紹了Linux yum安裝postgresql出現(xiàn)Bad GPG signature問題的解決方法,文中通過代碼示例給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-02-02

最新評論