vi 命令常用快捷鍵 [final]

tolywang發表於2011-08-10
一般模式
游標移動

h或 向左方向鍵
游標向左移動一個字元
j或 向下方向鍵
游標向下移動一個字元
k或 向上方向鍵
游標向上移動一個字元
l或 向右方向鍵
游標向右移動一個字元
Ctrl+f
螢幕向前翻一頁(常用)
Ctrl+b
螢幕向後翻一頁(常用)
Ctrl+d
螢幕向前翻半頁
Ctrl+u
螢幕向前翻半頁
+
游標移動到非空格符的下一列
-
游標移動到非空格符的上一列
n
按下數字後再按空格鍵,游標會向右移動這一行的n個字元。例如20,則游標會向右移動20個字元
0
(是數字0)動到這一行的第一個字元處(常用)
$
移動到這一行的最後一個字元處(常用)
H
游標移動到這個螢幕最上方的那一行
M
游標移動到這個螢幕中央的那一行
L
游標移動到這個螢幕最下方的那一行
G
游標移動到這個螢幕最後一行
nG
移動到這個檔案的第n行。例如20G,則會移動到這個檔案的第20行(可配合:set nu
n
游標向下移動n行(常用)
一般模式
查詢與替換
/word
在游標之後查詢一個名為word的字串(常用)
?word
在游標之前查詢一個名為word的字串
:n1,n2s/word1/word2/g
在第n1n2行之間查詢word1這個字串,並將該字串替換為word2(常用)
:1,$s/ word1/word2/g
在第一行與最後一行之間查詢word1這個字串,並將該字串替換為word2(常用)

:1,$s/ word1/word2/gc
在第一行與最後一行之間查詢word1這個字串,並將該字串替換為word2,且在替換前顯示提示符讓使用者確認(conform)(常用)
一般模式
刪除、複製與貼上
x,X
x為向後刪除一個字元,X為向前刪除一個字元(常用)
nx
向後刪除n個字元
dd
刪除游標所在的那一整行(常用)
ndd
刪除游標所在列的向下n列,例如,20dd則事刪除20列(常用)
d1G
刪除游標所在行到第一行的所有資料
dG
刪除游標所在列到最後一行的所有資料
yy
複製游標所在行(常用)
nyy
複製游標所在列的向下n列,例如,20yy則是複製20列(常用)
y1G
複製游標所在列到第一列的所有資料
yG
複製游標所在列到最後一列的所有資料
p,P
p為複製的資料貼上在游標下一列,P則為貼上在游標上一列(常用)
j
將游標所在列與下一列的資料結合成一列
u
恢復前一個動作(常用)
編輯模式
i,I
插入:在當前游標所在處插入輸入的文字,已存在
a,A
新增:由當前游標所在處的下一個字元開始輸入,已存在的字元會向後退(常用)
o,O
插入新的一行:從游標所在行的下一行行首開始輸入字元(常用)
r,R
替換:r會替換游標所指的那一個字元;R會一直替換游標所指的文字,直到按下Esc為止(常用)
Esc
退出編輯模式,回到一般模式(常用)
命令列模式
:w
將編輯的資料寫入硬碟檔案中(常用)
:w!
若檔案屬性為只讀,強制寫入該檔案
:q
退出vi(常用)
:q!
若曾修改過檔案,又不想儲存,使用為強制退出不儲存檔案
:wq
儲存後退出,若為:wq!,則為強制儲存後退出(常用)
:w[filename]
將編輯資料儲存為另一個檔案(類似另存新文件)
:r[filename]
在編輯的資料中,讀入另一個檔案的資料。即將filename這個檔案內容加到游標所在行的後面
:set nu
顯示行號,設定之後,會在每一行的前面顯示該行的行號
:set nonu
ser nu相反,為取消行號
n1,n2 w[filename]
n1n2的內容儲存為filename這個檔案


本文來自ChinaUnix部落格,如果檢視原文請點:http://blog.chinaunix.net/u/22176/showart_1724353.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-710447/,如需轉載,請註明出處,否則將追究法律責任。

相關文章