Linux中的Vi編輯操作

Linux中的Vi編輯操作

 ------本文的內容是介紹Linux中的Vi編輯相關的一些操作

1Vi2模式

Command(命令)模式,用於輸入命令

Insert(插入)模式,用於插入文本

 

2、當我們按ESC進入Command模式後,可以使用下面的一些鍵位來移動光標

j 向下移動一行

k 向上移動一行

h 向左移動一個字符

l 向右移動一個字符

在編輯一個文件時,對於jklh鍵,還能在這些動作命令的前面加上數字,比如3j,表示向下移動3行。

    ^  將光標移動到行首

    $  將光標移動到行尾

 

3、插入模式(文本的插入)

i 在光標之前插入

a 在光標之後插入

I 在光標所在行的行首插入

A 在光標所在行的行末插入

o 在光標所在行的下面插入一行

O 在光標所在行的上面插入一行

 

4、文本內容的刪除操作

x 刪除一個字符

#x 刪除幾個自如,#表示數字,比如 3x

dd 刪除一行

#dd 刪除多個行,#代表數字,比如3dd表示刪除光標行及光標的下兩行

d$ 刪除光標到行尾的內容

J 清除光標所處的行與下一行之間的換行,行尾沒有空格的話會自動添加1個空格

#J 表示合併#(數字)行

 

5、退出保存

在命令模式下按 shift+:會在文本底端出現冒號

:w   保存

:w filename   另存爲filename

:wq!   保存並退出

:q!   不保存退出

:x    保存並退出,功能和 :wq!相同

 

6、撤銷操作

u命令取消最近一次的操作,可以使用多次來恢復原有的操作。

7、複製操作

yy 複製當前整行的內容到 vi緩存區,#yy ,如5yy就是複製5

yw 複製當前光標所在位置到單詞尾字符的內容到 vi緩存區,相當於複製一個單詞

y$ 複製當前光標所在位置到行尾內容到緩存區

y^ 複製當前光標所在位置到行首內容到緩存區

如果要複製第m行到第n行之間的內容,可以在末行模式中輸入m,ny,例如3,5y複製第3行到第5行內容到緩存區。

 

8、查找和替換

Vi 的查找和替換功能主要在末行模式完成,分別是“至上而下的查找”和“至下而上的查找”。

8.1 至上而下的查找

/要查找的字符串,其中/代表從光標所在位置起開始查找,例如,/work

n 查找下一個匹配的字符串
N 反向查找下一個匹配的字符串

8.2至下而上的查找

?要查找的字符串,其中?代表從光標所在位置起開始查找,例如,?work

8.3 替換

:s/old/new new替換行中首次出現的old

:s/old/new/g new替換行中所有出現的old

:#,#s/old/new/g new替換從第#行到第#行中出現的old

:%s/old/new/g new替換整篇中出現的old

如果替換的範圍較大時,在所有的命令尾加一個c命令,強制每個替換需要用戶進行確認,例如,s/old/new/c s/old/new/gc

 

9、恢復文件

Vi在編輯某一個文件時,會生成一個臨時文件,這個臨時文件以.swp結尾。正常退出時,該文件會被自動刪除;但如果是意外退出,例如突然斷電,該文件不會被刪除,在下一次編輯時可以選擇以下命令處理:

O 只讀打開,不改變文件內容

E 繼續編輯文件,不恢復.swp文件保存的內容

R 將恢復上次編輯以後未保存文件內容

Q 退出vi

D 刪除.swp文件

發佈了42 篇原創文章 · 獲贊 23 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章