重複次數:可以通過在命令前鍵入乙個數字來重複執行命令,這個數字稱為重複次數。
如:10j 游標向下移動10個位置。
^ 代表
除非特殊宣告,以下命令均在命令模式下。
退出命令
效果:q
退出:q!
不檢查是否儲存了資料,直接退出
:x儲存並退出
zz按下並保持,按z兩次,儲存並退出
ps:!具有強制意味,忽略檢查和錯誤,強制執行。
如果修改了資料,並使用:q命令退出,則會顯示警告資訊,並不會直接退出。
移動游標
當前行:游標所在的行
命令效果
h將游標向左移動乙個位置
j將游標向下移動乙個位置
k將游標向上移動乙個位置
l將游標向右移動乙個位置
將游標向左移動乙個位置
將游標向下移動乙個位置
將游標向上移動乙個位置
將游標向右移動乙個位置
將游標向左移動乙個位置
將游標向右移動乙個位置
-將游標移動到上一行的開頭
+將游標移動到下一行的開頭
將游標移動到下一行的開頭
0將游標移動到當前行的開頭
$將游標移動到當前行的末尾
^將游標移動到當前行的第乙個非空白符的字元上
w將游標移動到下乙個單詞的詞首
e將游標移動到下乙個單詞的詞尾
b將游標移動到上乙個單詞的詞首
w同w,忽略標點符號
e同e,忽略標點符號
b同b,忽略標點符號
)移動到下乙個句子句首
(移動到上乙個句子句首
}移動到下乙個段落
{移動到上乙個段落
h將游標移動到螢幕頂部
m將游標移動到螢幕中間
l將游標移動到螢幕最後一行
ps:句子:乙個字串,以句號,逗號,問號,或感嘆號結尾,後面至少跟兩個空格或乙個新行字元。
段落:以乙個空白行開頭,並以乙個空白行結束的一塊文字區域。
在編輯緩衝區移動
命令效果
^f向下移動一屏
^b向上移動一屏
^d向下移動半屏
^u向上移動半屏
ps:在對^d和^u前鍵入數字時,設定的是應該跳轉的行數,並且會一直保持這個設定到改變量字。
跳轉到前一位置
命令效果
``回到前一位置
m後加乙個字母,如ma,即用這個字母標記該行
`後跟指定行的標記名稱,如`a,跳轉到標記該行的準確位置
'後跟指定行的標記名稱,如'a,跳轉到標記行的行首
搜尋命令
效果/pattern
pattren為希望搜尋的模式,游標將跳轉到接下來包含該模式的行上
/重複上一模式向前搜尋
?pattern
pattern為希望搜尋的模式,游標將跳轉到之前包含該模式的行上
?重複上一模式向後搜尋
n沿和之前相同的方向進行搜尋
n沿和之前相反的方向進行搜尋
ps:搜尋結果高亮顯式
取消高亮:noh
使用行號
命令效果
:set number
顯示行號
^g顯示檔名稱,位置(行,百分比)
行號g跳轉到指定行
:行號跳轉到指定行
gg跳轉到第一行
插入文字
命令效果
i改變到輸入模式:在當前游標位置前插入資料
a改變到輸入模式:在當前游標位置後插入資料
i改變到輸入模式:在當前行開頭插入資料
a改變到輸入模式:在當前行末尾插入資料
o改變到輸入模式:在當前行下插入一行
o改變到輸入模式:在當前行行插入一行
^v控制字元
在輸入模式下,插入控制字元(如^v^h 插入乙個退格)
修改文字
命令效果
r後跟新字元,將當前字元更換為新字元
r改變到replace模式,隨後鍵入的每個字元都將替換當前行上游標後(包括游標)的乙個字元
s改變到輸入模式,多個字元替代乙個字元
c替換從當前游標位置到這一行末尾的所有字元
s替換一整行
cc替換一整行
c後跟游標移動命令,替換從游標當前位置到移動命令所指定位置的所有字元。如c5w,替換5個單詞
:s/pattern/replace
替換當前行上pattern的第乙個匹配項為replace,可在;和s中指定行號,以 , 分隔兩個行號,可表示範圍
:s/pattern/replace/g
替換當前行上所有的匹配項
:s/pattern/replace/c
替換前需確認
ps:. 代表當前行
$ 代表編輯緩衝區的最後一行
% 代表編輯緩衝區所有的行
刪除文字
命令效果
x刪除當前游標處的字元
x刪除當前游標左邊的字元
d刪除從當前游標到本行末尾的字元
d後跟游標移動命令,刪除從當前游標到游標移動命令指定位置的字元
dd刪除當前行,游標移動到下一行行首
:行號d
刪除指定行
:行號1,行號2d
刪除行號1,到行號2的行
^w輸入模式下,刪除游標之前的乙個單詞
^u輸入模式下,刪除游標之前的一行
ps:10dd,刪除從當前行開始10行的文字
撤銷或重複改變
命令效果uu
恢復當前行.p
複製上一次刪除的內容,插入到游標之後
p複製上一次刪除的內容,插入到游標之前
編號p將編號緩衝區中相應編號的內容插入當前行的下面
編號p將編號緩衝區中相應編號的內容插入當前行的上面
ps:編號緩衝區:vi將刪除內容儲存在編號緩衝區中,並從1~9編號。
組合命令:
xp 調換兩個字元
deep 調換兩個單詞
ddp 調換兩行
複製文字
命令效果
y後接游標移動命令,複製從當前游標到游標指定位置的字元
yy複製整行
y複製整行
:行號1co行號2
複製行號1的行到行號2的行下面
:行號1,行號2co行號3
複製行號1到行號2之間的行到行號的行3下面
ps:複製的文字儲存在無名緩衝區中。可以使用p取出。
10yy,複製從當前行開始10行的內容。
移動文字
命令效果
:行號1m行號2
移動行號1的行到行號2的行下面
:行號1,行號2m行號3
移動行號1到行號2之間的行到行號3的行下面
改變字母大小寫
命令效果
~改變游標所在字元的大小寫
ps:若游標所在字元是非字母,游標像前移動乙個位置,不進行改變。
10~ 改變從游標所在字元開始10個字元的大小寫。
連線行命令效果j
把當前行和下一行合併成乙個長行
ps:當vi在連線行時,會在合適的位置自動地插入空格,即,在句子末尾插入兩個空格。
3j 連線當前行開始3行為乙個長行。
輸入shell命令
命令效果
:!命令
將命令傳送給shell執行,當命令結束後,控制返回vi
;!!重複執行最近一條shell命令
:sh暫停vi,並啟動乙個新的預設shell副本
插入檔案資料
命令效果
:行號r 檔案
將檔案內容插入到行號的行下面
插入shell命令輸出
命令效果
:行號r !命令
將命令的輸出插入到行號的行下面
ps:行號未指定,則為當前行
將資料寫入檔案
命令效果
:w將資料寫入原始檔案
;w 檔案
將資料寫入新檔案
:w! 檔案
覆蓋乙個已有的檔案
:w>>檔案
將資料追加到指定的檔案
切換到乙個新檔案
命令效果
:e 檔案
切換到新檔案進行編輯
:e!重新編劇當前檔案,忽略自動檢查
:e! 檔案
編輯指定檔案,忽略自動檢查
使用縮寫
命令效果
:ab 縮寫 縮寫的原文
在位於輸入模式時,每當輸入縮寫(作為單獨的單詞),就會替換為縮寫原文
ps:可以為經常使用的單詞或表示式建立縮寫,縮寫必須為乙個單詞(中間無空格),縮寫原文可任意。
如::ab eg exceptionally gifted巨集命令
效果:map 單字元 命令
建立命令模式中使用的單字元命令,自己定製的單字元命令
:map
顯示所有巨集
:map #數字 命令
#數字代指f1~f10(#1指f1,#0指f10),用來建立乙個巨集,並賦給功能鍵
ps:如果巨集的名稱是乙個已經擁有其他含義的字元(如:x刪除游標所在字元),那麼巨集將替換掉這個字元的含義。
vi vim常用命令整理
文字目標 修改刪除 複製1個單詞 cwdw yw2個單詞 c2w or 2cw 2dw or d2w 2yw or y2w 向後3個單詞 3cw or c3w 3dw or 3wd 3cy or c3y 一整行cc ddyy or y 游標位置到行尾 c or c d or d y 游標位置到行首 ...
vi vim 命令手冊
本手冊介紹了 vi vim 編輯器的主要功能。為了便於查詢,這裡一併給出了命令和它們的定製引數。在使用這個手冊之前,必須注意以下幾點 很多命令可以與重複因子一起使用 vi vim 不是vi 把乙個區域 region 定義為乙個連續的文字塊,許多命令與文字塊有關 乙個區域可以用v定義,後面跟乙個游標移...
vi vim 刪除命令
刪除一行 dd 刪除乙個單詞 游標之後的單詞剩餘部分 dw 刪除當前字元 x 游標之後的該行部分 d 文字刪除 dd 刪除一行 d 刪除以當前字元開始的一行字元 ndd 刪除以當前行開始的n行 dw 刪除以當前字元開始的乙個字 ndw 刪除以當前字元開始的n個字 d 與d 同義 d 刪除到下一句的開...