vi使用技巧總結

2021-07-05 03:27:51 字數 2727 閱讀 1782

1.進入vi

用vi開啟檔案:$ vi /etc/passwd

剛一開啟檔案是進入命令模式的

2.直接進入指定位置處

直接將游標定位到第n行: $ vi  +/n  檔名

將游標定位到某字串處: $ vi  +/字串  檔名

3.進入編輯模式

i——在當前游標所在位置,插入隨後輸入的文字,游標後的文字相應的向右移動

i——在游標所在行的行首插入隨後輸入的文字,行首是該行的第乙個非空的字元,相當於游標移動到行首再執行i命令

a——在當前游標所在的位置之後,插入隨後輸入的文字

a——在游標所在行的行尾新增隨後輸入的文字,相當於游標移動到行尾再執行a命令

o——在游標所在行的下方插入新的一行。游標停在空行的行首

o——在游標所在行的上面插入新的一行。游標停在空行的行首

4.游標移動命令

①以字元為單位移動

在命令模式下,使用h(左),j(下),k(上),l(右)

②以單詞為單位移動

命令模式下,「w」跳到下乙個單詞的詞首處,「b」跳到上乙個單詞的詞首處,「e」跳到下乙個單詞的詞尾處

③移動到行尾或行首

「0」移至行首,「$」移至行尾,「n$」移至第n行的行尾

④移動到一行的指定字元處

f+字元  移動到指定的字元處

例:某行為「this is a test」    將游標跳到字元a處:fa

⑤移動到匹配的括號處

先按下「%」鍵定位到「(」處,然後再按下「%」定位到「)」處

⑥移動到指定行處

「ng」將游標移動到第n行

5.vi進行編輯

①查詢字串

在一般模式下,輸入「/要查詢的字串」 ,再按以一下回車鍵,從當前游標所在處向後查詢,如果要向前查詢只要輸入「? 要查詢的字串」即可

②替換格式: 「:替換開始處,替換結束處   s/要被替換的字串/替換字串/g」

說明:如果不加g的話,則只替換每行找到的第乙個字串

例: 將從第一行到36行所有「nobody」改為「hxl」……………………………

「:1,36s/nobody/hxl/g」

③刪除、粘帖、複製

刪除:命令模式下,「x」鍵刪除游標後的單個字元,快速按兩下「d」鍵進行整行刪除,刪除連續多行,依次按下「ndd」,刪除連續的n行

此時被刪除的內容並沒有真正刪除而是臨時放在了記憶體中,此時(在命令模式下)可以將游標移動到指定的位置處,再按下「p」鍵後就可以將剛才刪除的內容又粘帖到此處

通過「yy」鍵可以將一行進行複製,或者是通過見面加上數字再加上「yy」鍵就可以複製多行

將兩行轉換成一行,只需要將兩行之間的換行符刪掉,這樣我們可以直接在命令模式下按下「j」(大寫)鍵來粘帖

④撤銷和重新執行命令

「u」鍵撤銷剛才執行的命令,撤銷多步的話可以使用「.」或「ctrl+r」組合鍵來重新執行剛才的操作

6.儲存退出命令

「w」鍵——儲存不退出

「q」鍵——不儲存退出

「!」鍵——強制性操作

「zz」(大寫)——儲存並退出

wq儲存並退出,w!強制儲存(此時一般是每寫許可權),q!強制退出

7.多視窗編輯

在第乙個視窗的命令模式下,輸入「:sp第二個檔案的路徑及檔名」

此方法可以開啟多個檔案

此時如果想編輯上乙個視窗,可以按「ctrl+w」鍵,再按「k」鍵

8.區域複製

在一般模式下,先將游標移到要複製的第一行處,按下「v」鍵,這樣底部狀態列出現「可視」字樣,這時就可以使用上下左右鍵進行區域的選擇了,當全部選完後,按下「y」鍵,然後將游標移到目標位置處,按下「p」鍵進行區域複製

9.在vi中與shell互動

在vi中,可以在ex模式下用「!」命令來訪問linux的shell以進行操作,命令格式:    「:!命令」

在進入shell後,使用回車鍵退出回到vi中。

10.巨集記錄

應用於對某些行進行相同的改動

現在要將檔案一改為檔案二這樣的格式。

檔案一:

stdio.h

stdlib.h

conio.h

檔案二:

#include 「stdio.h」

#include 「stdlib.h」

#include 「conio.h」

使用巨集指令方式:

(1)首先在命令模式下將游標移到stdio.h行的行首,按下「qh」鍵,其中「q」鍵代表記錄巨集指令,「h」為給巨集起的名,可以為任意字元,這時候螢幕左下角會出現「記錄」字樣

(2)接著在編輯模式下將第一行設定成檔案二第一行的形式,然後退回命令模式當輸入完成後按下「q」鍵退出,此時巨集定義已經完成

(3)執行巨集的方法只需要將游標移動到需要修改的行,然後執行「@巨集名」即可,本例中只需要將游標移到第二行然後執行「@h」即可,其他行亦是如此。

11.連許多行注釋

命令模式下,執行: 「:起始行,終止行s/^/#/g」

其中「^」表示在行首插入,「#」為要插入的字元,「g」 表示執行替換時不確認,如果希望每行互動詢問是否執行,將「g」改為「c」

12.神奇的命令ab

格式:  」:ab 替代符  原始資訊「

例:  」: ab hxl  [email protected]

之後在輸入模式錄入」hxl「,在敲回車或者任意字母符號,就會變為」[email protected]

13.將其他檔案內容匯入當前編輯檔案中

將任何命令的結果匯入到當前檔案中格式: 「 : r  !命令」

vi技巧總結

vi三種模式 命令列模式 任何時候,不管使用者處於何種模式,只要按一下鍵,即可使vi進入命令列模式 我們在shell環境 提示符為 下輸入啟動vi命令,進入編輯器時,也是處於該模式下。文字輸入模式 在命令模式下輸入插入命令i 附加命令a 開啟命令o 修改命令c 取代命令r或替換命令s都可以進入文字輸...

VI使用技巧

vi命令可以說是unix linux世界裡最常用的編輯檔案的命令了,但是因為它的命令集眾多,很多人都不習慣使用它,其實您只需要掌握基本命令,然後加以靈活運用,就會發現它的優勢,並會逐漸喜歡使用這種方法。本文旨在介紹vi的一些最常用命令和高階應用技巧。一 基本命令介紹 1 游標命令 k j h l 上...

VI使用小技巧

1 替換某一字串 s old word new word g 在整個檔案中將old word替換為new word 2 不進入vi編輯器將檔案中的某一字串替換掉 sed s 111 aaa g 1.txt 2.txt 將1.txt中所有的111替換為aaa,修改後的檔案寫入2.txt sed s 1...