vi在工作時,會在當前目錄下建立.swp的臨時檔案,該臨時檔案也稱為交換檔案
當vi結束對當前檔案編輯且正常退出時,臨時檔案.swp會被自動刪除
當vi結束對當前檔案編輯且非正常退出時,臨時檔案.swp會被殘留下來
vi在工作時,會在與被編輯檔案相同的目錄內建立乙個名為.filename.swp的臨時檔案
當vi結束對當前檔案編輯且正常退出時,臨時檔案.filename.swp會被自動刪除
當vi結束對當前檔案編輯且非正常退出時,臨時檔案.filename.swp會被殘留下來
vi -r filename:從vi crash或非正常退出中恢復檔案
vi -r .*.swp:從交換檔案.*.swp中恢復檔案
vi -r:列出當前目錄內所有因vi非正常退出而殘留的交換檔案,以便恢復
vi -l:列出當前目錄內所有因vi非正常退出而殘留的交換檔案,以便恢復
命令模式:在這種模式下,可以通過輸入vi的命令對檔案的內容進行處理(複製、刪除、移動等),也可以通過按游標鍵來移動游標。
命令項模式:在命令模式下,使用者輸入冒號後,游標會跳到底行,然後輸入命令。
命令模式 --> 輸入a、a、i、i、o、o等命令 --> 編輯模式
編輯模式 --> 按esc鍵 --> 命令模式
命令模式 --> 輸入冒號 --> 命令項模式
3. 退出vi的命令
在命令模式下,輸入:
:w 儲存檔案,不退出vi
:w filename 把vi中的內容儲存到不存在的filename檔案,不退出vi
:w! filename 把vi中的內容儲存到已存在的filename檔案,不退出vi
:w>>filename 把vi中的內容追加到filename檔案,不退出vi
:n1,n2w filename 把n1行到n2行的內容儲存到不存在的filename檔案
:n1,n2w! filename 把n1行到n2行的內容儲存到已存在的filename檔案
:wq 儲存檔案,退出vi
:x 儲存檔案,退出vi
:zz 儲存檔案,退出vi
:q 不儲存檔案,退出vi(若檔案已改變,則不能退出)
:q! 不儲存檔案,退出vi
:zq 不儲存檔案,退出vi
4. 在命令模式下,可以輸入以下命令:
(1)游標移動命令
h: 左
l: 右
k: 上
j: 下
向左游標鍵
向右游標鍵
向上游標鍵
向下游標鍵
(2)插入命令
i:在游標處插入內容
i:在第一行插入內容
a:在游標後插入內容
a:在當前行的尾部插入內容
o:在當前行的下面插入新行
o:在當前行的上面插入新行
(3)刪除命令
x:刪除游標處的字元
x:刪除游標前的乙個字元
d0:刪除從當前游標所在行的第乙個字元到當前游標的前乙個字元的一串字元
d:刪除從當前游標所在的字元到當前游標所在行的最後乙個字元的一串字元
dd:刪除游標所在行的所有字元
dw:刪除從游標處字元開始的乙個單詞
例如:a boy girl pig
如果游標在l處,dw後,結果是:a boy girpig
如果游標在l和p之間的空格處,dw後,結果是:a boy girlpig
如果游標在b處,dw後,結果是:a girl pig
#dd:刪除從游標所在的行到其後的#-1行(#必須用數字代替)
#x:刪除從游標所在的字元開始的#個字元(#必須用數字代替)
:n1,n2 d:刪除n1行到n2行的內容
(4)複製命令
(5)移動命令
(6)修改/替換命令
r:輸入乙個字元替換游標處的乙個字元
r:從游標處的字元開始替換,後面的字元乙個乙個被輸入的字元覆蓋
s:輸入一串字元來替換游標處的字元
s:先清除游標所在的行,你可以在當前行輸入一串字元
cc:先清除游標所在的行,你可以在當前行輸入一串字元
cw:修改乙個單詞
例如:ab cdef ghijk
游標在d處,輸入cw後,結果是:ab cde$ ghijk,
此時若輸入pqghd後,結果是:ab cpqghd ghijk
此時若輸入p後按esc鍵,結果是:ab cp ghijk
c:修改從游標處開始及其該行後面的部分
例如:ab cdef ghijk
游標在d處,輸入cw後,結果是:ab cdef ghij$,此時輸入pqghd後,結果是:ab cpqghd
(7)游標定位命令
0:定位到游標所在行的行首
$:定位到游標所在行的行末
:#:定位到第#行的行首
:$:定位到最後一行的行首
/exp:向後定位到字串exp
?exp:向前定位到字串exp
/^exp:定位到行首為字串exp的行
/exp$:定位到行末為字串exp的行
n,m ?/exp:從n行到m行向前搜尋字串exp (此命令有待商榷)
n,m |/exp:從n行到m行向前搜尋字串exp (此命令有待商榷)
(8)搜尋替換命令
:s/exp1/exp2/g:將當前行的字串exp1替換成字串exp2
:n,m s/exp1/exp2/g:將n行到m行的字串exp1替換成字串exp2
:g/exp1/exp2/g:將當前行的字串exp1替換成字串exp2
:g/exp1/s//exp2/g:將全文中的字串exp1替換成字串exp2
(9)撤銷命令
u(10)緩衝區命令
預設情況下,vi使用無名緩衝區,例如:雖然將檔案的某些部分刪除了,但仍可以用u命名進行撤銷。
yy:將游標所在的行放入無名緩衝區
y:將游標所在的行放入無名緩衝區
"#yy:將游標所在的行放入緩衝區# (#必須用a~z代替)
"#d:刪除當前行,將當前行的內容放入緩衝區#
(11)其它命令
:set nu:顯示行號
:set nonu:取消行號
:n 定位到下乙個檔案
:n 定位到上乙個檔案
vi 1.c 2.c 3.c:一次開啟3個檔案
首先會開啟1.c,輸入:n命令後,會開啟2.c,再輸入:n命令後,會開啟3.c,
再輸入:n命令後,會開啟2.c,再輸入:n命令後,會開啟1.c。
ctrl+l:重新整理螢幕
ctrl+d:向後翻半屏
ctrl+u:向前翻半屏
ctrl+f:向後翻一屏
ctrl+b:向前翻一屏
Vim 編輯器命令
一 低行模式常用指令 w 用於儲存檔案 q 退出當前編輯的檔案 強制,常用 q 強制退出 ls 列出當前編輯器中所有的檔案 n 切換到下乙個檔案 n 切換到上乙個檔案 15 切換到第15行 游標定在 的位置 游標向前定在 處 二 命令列常用指定 h 游標左移 j 游標下移 k 游標上移 l 游標右移...
vim 編輯器命令
vi vim 操作命令 g快速移動游標到最後一行 gg快速移動游標到首行 100g 100gg 移動游標切換到指定100行 將游標快速移動到行首 將游標快速移動到行尾 ctrl 左右 橫行移動時,按照字串資訊移動 nyy複製指定行資訊 np貼上指定資訊 ndd剪下指定行資訊 u撤銷操作 ctrl r...
Vim編輯器操作命令
1.三種模式 命令 預設 尾行 編輯模式 2.尾行模式 q 退出vi編輯器 w 儲存修改 wq 儲存並退出編輯 q 強制退出,不儲存修改 wq 強制儲存退出 set number set nu 給編輯器設定序號 set nonumber set nonu 取消序號顯示 內容 搜尋指定內容,小寫 n ...