天天看點

【Linux】vi編輯器

之前實習的時候用過,但是都是不懂的直接搜,加上記憶力差,安居客面試的時候面試官問到了,但是答不出來。直到現在心裡還是很痛。。。好好學習,一個一個坑的補回來吧。

vi和vim是linux下的文本編輯工具,而vim是vi的更新版本,不僅相容vi所有指令,還有一些新的特性在裡面。

這篇筆記主要記錄vi的基本操作。

一、兩個操作模式

一個是輸入模式,一個是指令模式。在輸入模式下,可以輸入文本,在指令模式下,可以輸入指令。

在輸入模式下,按Esc鍵切換到指令模式下。

在指令模式下,按輸入指令(a、i、o)進入輸入模式。

二、進入vi

$ vi filename

如果檔案不存在,則建立一個内容為空的檔案。

view filename

以隻讀方式打開檔案。

三、指令模式

1.進入指令模式

指令 作用
a 在目前遊标後面輸入
A 在目前行末輸入
i 在目前遊标前面輸入
I 在目前行首輸入
o 在目前行之下新增一行,并在新增行輸入
O 在目前行之上新增一行,并在新增行輸入

2.遊标移動

指令 作用
h 向左移動一個字元長度
l 向右移動一個字元長度
j 向下移動一個字元長度
k 向上移動一個字元長度
b 左移一個單詞,至詞首
w 右移一個單詞,至詞尾
移到目前行行首
$ 移到目前行行尾
+ 移到下一行行首
- 移到上一行的行首
H 移至視窗的第一行
M 移至視窗的中間一行
L 移至視窗的最後一行
G 移至該檔案的最後一行
nG 移至該文檔的第n行
n+ 下移n行
n- 上移n行

3.視窗移動

指令 作用

Ctrl

+

f

視窗下卷一頁

Ctrl

+

b

視窗上卷一頁

Ctrl

+

d

視窗下卷半頁

Ctrl

+

u

視窗上卷半頁

Ctrl

+

e

視窗下卷一行

Ctrl

+

y

視窗上卷一行

4.删除操作

指令 作用
x 删除遊标所在的字元
X 删除遊标所在的前一字元
dw 從遊标目前位置開始向後删除一個單詞
db 從遊标目前位置開始向前删除一個單詞
d0 從行首删除至目前遊标位置
d$ 從遊标目前位置删除至行尾
D 同d$
dd 删除遊标所在行

5.修改操作

指令 作用
s 修改遊标所在字元,修改完成後按Esc結束
S 修改整行内容,修改完成後按Esc鍵結束
r 替換目前遊标所在字元
R 進入替換狀态,直至按Esc鍵結束
cw 修改一個單詞(從遊标位置至詞尾)
cb 修改一個單詞(從詞首至遊标位置)
cc 修改整行内容,完成後按Esc鍵結束,同S
c0 修改行首至遊标位置的内容
c$ 修改遊标位置至行尾的内容
~ 遊标所在字元大小寫切換

6.指令重複

在指令模式中,可以在指令前面加上一個數字n,則該指令會重複執行n次。常用的有:

指令 作用
nx 删除n個字元
ndd 删除n行
ns 修改n個字元

7.取消前一動作(Undo)

指令 作用
u 取消前一動作

8.查找字元串

指令 作用
/字元串 從目前遊标向後查找該字元串
?字元串 從目前遊标向前查找該字元串
n 從目前遊标向後查找下一個字元串
N 從目前遊标向前查找下一個字元串

9.檢視編輯狀态

指令 作用

Ctrl

+

g

顯示正在編輯的檔案名、目前遊标所在行數、檔案總行數、檔案是否被修改

四、儲存和退出

指令 左右
w 儲存,但不退出
wq 儲存并退出
x 同wq
q 退出,如果目前檔案沒有儲存,禁止退出
q! 不儲存退出
w file1 将内容儲存至檔案file1中,此時編輯的仍未原檔案
w! file1 将内容覆寫儲存至檔案file1中,如檔案file1存在,:w file1将禁止執行

以上。

繼續閱讀