vi編輯器的使用


vi編輯器

vi是一個命令,也是一個命令行下的編輯器,它有如下功能:

a. 打開文件、新建文件、保存文件

b. 光標移動

c. 文本編輯

d. (多行間|多列間)復制、粘貼、刪除

e. 查找和替換

很多人不習慣在命令行下編輯文件,實際開發中也不會經常在命令行下編輯文件。但是在Linux系統中對文件做些簡單修改時,使用vi命令的效率非常高。並且在很多時候,比如現場調試時,並沒有GUI形式的編輯工具,vi是唯一選擇。

1. 模式

vi編輯器有三種模式,各個模式側重點不一樣:

a. 一般模式(光標移動、復制、粘貼、刪除)

b. 編輯模式(編輯文本)

c. 命令行模式(查找和替換)

vi編輯器的三種模式間切換如下圖所示

注意:

a. 當不知道處於何種模式時,按ESC鍵返回到一般模式。

b. wq(write quit)

c. i(insert)

2. 文件的打開、新建、保存

打開文件、新建文件,命令如下(如果文件存在則打開文件,否則新建文件並打開):

$ vi  文件名

修改結束之后,輸入“:” 進入命令行模式,再輸入“wq”保存退出:

:wq    保存並退出文件

注意:如果文件不存在,也需要輸入“:wq”才可以保存新文件,否則不會新建文件。

在編輯完成時,返回一般模式,方法如下:

a. 輸入“:w”則保存文件,如果已經保存文件,輸入“:q”則退出文件

b. 直接輸入“:wq”保存並退出

c. 如果不想保存被修改的內容,則輸入“:q!”強制退出

這些命令列表如下:

命令

描述

x

保存當前文檔並且退出。

q

退出。

w

保存文檔 。

q!

退出 vi/vim,不保存文檔。

 

3. 編輯文件

打開文件后,默認處於“一般模式”,這時可以輸入以下字母:

指令

描述

i

在當前光標所在字符的前面,轉為編輯模式。

I

在當前光標所在行的行首轉換為編輯模式。

a

在當前光標所在字符的后面,轉為編輯模式。

A

在光標所在行的行尾,轉換為編輯模式。

o

在當前光標所在行的下方,新建一行,並轉為編輯模式。

O

在當前光標所在行的上方,新建一行,並轉為編輯模式。

 4. 快速移動光標

在一般模式下,可以使用下面快捷鍵移動光標或是翻頁:

移動光標

h (或左方向鍵)

光標左移一個字符。

l (或右方向鍵)

光標右移一個字符。

j (或下方向鍵)

光標下移一行。

k (或上方向鍵)

光標上移一行。

nG或ngg

光標移動到第 n行首。

n+

光標下移 n行。

n-

光標上移 n行。

屏幕翻滾

Ctrl + f

屏幕向下翻一頁,相當於下一頁。

Ctrl + b

屏幕向上翻一頁,相當於上一頁。

 

詳細介紹如下:

1)快速的定位到某一行:文件頭、文件尾、指定某一行

ngg  //光標移至第n行的行首(n為數字,想要跳轉的行),

1gg  //就跳到第一行的行首,就是文件頭

2gg  //就跳到第二行的行首

G    //轉至文件結尾

2)在某一行如何快速定位到某一列:

0   //(數字零)光標移至當前行行首

$   //光標移至當前行行末

fx  //搜索當前行中下一個出現字母x的地方

注意:當你不知道vi當前處於何種模式時,使用esc鍵返回到一般模式。

 

5. 文本復制、粘貼、刪除、撤銷

在一般模式下,可以執行以下命令。

復制、刪除和粘貼

cc

刪除整行,並且修改整行內容。

dd

刪除該行,不提供修改功能。

ndd

刪除當前行向下 n行。

x

刪除光標所在的字符。

X

刪除光標前面的一個字符。

nyy

復制當前行及其下面 n行。

p

粘貼最近復制的內容。

s

刪除光標所在字符。

r

替換光標處字符。

 

1) 復制

yy   //復制當前行(y:yank(復制))  

nyy  //復制當前行及其后的n-1行(n是數字)

2) 粘貼

p  //粘貼(p:paste)

3) 刪除

dd   //刪除光標所在行(d:delete)

ndd  //刪除當前行及其后的n-1行(n是數字)

x    //刪除光標所在位置的字符 

4) 撤銷

u  //撤銷上一步操作

 

6. 文本查找和替換

在一般模式下,可以執行以下命令。

1) 查找

/pattern  //從光標開始處向文件尾搜索pattern,后按下n或N

注意

n         在同一個方向重復上一次搜索命令

N         在反方向重復上一次搜索命令

注意

在/pattern之前先跳到第一行則進行全文件搜索。

2) 替換

:%s/p1/p2/g   //將文件中所有的p1均用p2替換

:%s/p1/p2/gc  //替換時需要確認

“s“ 全稱:substitute替換;

“g“ 全稱:global全局;

“c“ 全稱:confirm,確認

參考https://www.runoob.com/linux/linux-command-manual.html

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM