一名菜鳥學習編程技術,記錄所學知識並分享給大家,希望大家多多支持。
一、命令模式的基本操作
輸入vi命令後,便進入全屏幕編輯環境,此時的狀態爲命令模式
。
在命令模式下,輸入一些命令,但是當你點擊鍵盤上相應鍵輸入命令時,這些命令會呈現最終的效果,不會在編輯器界面上顯示出命令的字符。
1、vim編輯器的基本操作
子命令名稱 |
作用 |
i |
編輯文檔,在狀態行顯示–INSERT |
w |
保存已編輯完成的文檔 |
q |
退出關閉文檔 |
q! |
強制關閉文檔退出 |
/字符串 |
在文檔中查找指定的字符串 |
set nu |
文檔中顯示行號 |
set nonu |
文檔中不顯示行號 |
d |
刪除當前行 |
nd |
刪除從當前行到n行 |
n1,n2d |
刪除從n1行到n2行 |
s /字符串1 /字符串2/g |
將文檔中字符串1用字符串2替換 |
ESC鍵 |
退出文檔編輯狀態,進入非編輯狀態 |
u |
在非編輯狀態,撤銷上次操作 |
2、行內的快速跳轉
操作鍵 |
功能 |
^ |
將光標快速跳轉到本行的行首字符 home |
$ |
將光標快速跳轉到本行的行尾字符 end |
w |
將光標快速跳轉到當前光標所在位置的後一個單詞的首字母 |
b |
將光標快速跳轉到當前光標所在位置的前一個單詞的首字母 |
e |
將光標快速跳轉到當前光標所在位置的後一個單詞的尾字母 |
方向鍵 |
進行上下左右方向的光標移動 |
Home |
快速定位光標到行首 |
End |
快速定位光標到行尾 |
3、行間快速跳轉
命令 |
功能 |
:set nu |
在編輯器中顯示行號 |
:set nonu |
取消編輯器中的行號顯示 |
1G |
跳轉到文件的首行 |
G |
跳轉到文件的末尾行 |
#G |
跳轉到文件的第#行 |
PageUp |
進行文本的向上翻頁 |
PageDown |
進行文本的向下翻頁 |
二、vim編輯器的刪除與撤銷
1、文件內容的刪除
命令 |
功能 |
x |
刪除光標處的單個字符 =delete |
dd |
刪除光標所在行 ndd可以刪除5行內容 |
dw |
刪除當前字符到單詞尾(包括空格)的所有字符 |
de |
刪除當前字符到單詞尾(不包括單詞尾部的空格)的所有字符 |
d$ |
刪除當前字符到行尾的所有字符 |
d^ |
刪除當前字符到行首的所有字符 |
J |
刪除光標所在行行尾的換位符,相當於合併當前行和下一行的內容 |
2、文件內容的撤銷
命令 |
功能 |
u |
取消最近一次的操作,並恢復操作結果(可以多次使用u命令恢復已進行的多步操作) |
U |
取消對當前行進行的所有操作 |
Ctrl+r |
對使用u命令撤銷的操作進行恢復 |
三、文件內容的複製和粘貼
單行復制:
在命令模式下,將光標移動到將要複製的行處,按“yy”
進行復制;
多行復制:
在命令模式下,將光標移動到將要複製的首行處,按“nyy”
複製n行,其中n爲數字;
粘貼:
在命令模式下,將光標移動到將要粘貼的行處,按“p”
進行粘貼。
命令 |
功能 |
yy |
複製當前行整行的內容到vi緩衝區,5yy從當前行開始複製5行 |
yw |
複製當前光標到單詞尾字符的內容到vi緩衝區 |
y$ |
複製當前光標到行尾的內容到vi緩衝區 |
y^ |
複製當前光標到行首的內容的vi緩衝區 |
p |
讀取vi緩衝區中的內容,並粘貼到光標當前的位置(不覆蓋文件已有的內容) |
四、vim編輯器的查找與替換
1、文件內容的查找
vi提供了幾種定位查找一個指定的字符串在文件中位置的方法。同時還提供一種功能強大的全局替換功能。
爲查找一個字符串,在vi命令模式下鍵入“/”
,後面跟要查找的字符串,再按回車。
vi將光標定位在該串下一次出現的地方上。鍵入“n”
跳到該串的下一個出現處,鍵入“N”
跳到該串的上一個出現處。
命令 |
功能 |
/word |
從上而下載文件中查找字符串“word” |
?word |
從下而上在文件中查找字符串“word” |
n |
定位下一個匹配的被查找字符串 |
N |
定位上一個匹配的被查找的字符串 |
2、文件內容的替換
命令 |
功能 |
: s/old/new |
將當前行中查找到的第一個字符“old”串替換爲“new” |
: s/old/new/g |
將當前行中查找到的所有字符串“old”替換爲“new” |
: #,#s/old/new/g |
在行號“#,#”範圍內替換所有的字符串“old”爲“new” |
: %s/old/new/g |
在整個文件範圍內替換所有的字符串“old”爲“new” |
: s/old/new/c |
在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認 |