vi編輯器是linux或unix中最基本的文字編輯器,其產生可以幫助使用者將雙手從滑鼠中解放出來,在vi模式下,命令都是通過鍵盤輸入完成的。
一、vi的三種工作模式
1、命令模式:是vi的入口,執行定位,翻頁,複製,貼上,刪除等操作
末行模式:是vi的出口,執行儲存、退出等操作
命令模式:是vi的入口,執行定位,翻頁,複製,貼上,刪除等操作
2、末行模式:是vi的出口,執行儲存、退出等操作
q:退出
wq:儲存並退出
q!:強制退出(在修改檔案但未儲存時退出檔案,可使用強制退出命令)
x或wq:儲存並退出
二、移動
1、上下左右移動
h:左移乙個字元
j :下移乙個字元
k:上移乙個字元
l:右移乙個字元
2、行內移動
w(word) 向後移動乙個單詞
b(back) 向前移動乙個單詞
0 移動至行首
^ 移動至第乙個非空白字元的行首
$ 移動至行尾
3、移動至檔案頂部 gg
移動至檔案末尾 g
移動到指定行 指定行gg
4、螢幕移動
ctrl+b(back) 向上翻頁
ctrl+f(forward) 向下翻頁
h(high) 移動至螢幕頂部
m(middle) 移動至螢幕中間
l(low) 移動至螢幕底部
5、段落移動
shiift+ 下一段落
shift+% 可以匹配及在成對的括號之間切換
6、標記
ma(mark) 新增標記a,a是a-z或者a-z中的任意乙個字母
『a 直接回到剛剛標記的位置
三、定位到行
1、在檔案外時,進入檔案並跳轉到指定行:
vi 檔名+指定行數,
eg:0.json + 16
2、讓每行的前面顯示行數:
vi下,輸入:set nu(nu表示number)
3、跳轉到指定行:
指定行gg 或輸入 :100,
eg:100gg或:100即可跳轉到檔案的第100行
四、撤銷和刪除
1、撤銷
u(undo) 撤銷上次命令,可重複執行至檔案原始狀態
ctrl+r(redo) 可恢復剛剛撤銷的命
2、刪除
x(cut) 刪除游標所在字元,可結合數字或%刪除多個字元
eg:5x,%x
d(delete) 刪除對應的字元
dd 刪除游標所在行,
eg:ndd 刪除多行
dng 從該行刪除至第n行
dw 從游標位置刪除至單詞末尾
d0 從游標位置刪除至該行起始位置
d} 從游標位置刪除至段落末尾
d 刪除至行尾
五、複製、貼上、替換
1、複製&貼上
yy(copy) 複製,nyy可複製多行
p(paste) 貼上
eg:yy5p 該行複製5遍
5yyp 這5行複製1遍
【注意】在其他檔案中用ctrl+c所複製的檔案,不可直接用p命令貼上,需要先進入編輯模式(i)下使用p貼上
2、替換
r (replace) 替換當前字元
r 從當前位置開始,用輸入的n個字元替換當前游標開始的n個字元
5r 表示新輸入的文字重複5次替換原有位置的字元,後續字元依舊保留
六、選中命令(可視模式)
1、v:可視模式(從游標開始位置到游標結束位置選中)
2、v:可視行模式(只要是游標經過的完整行都會被選中)
3、ctrl+v:可視塊塊模式(可垂直方向選中文字)
【注意】可視模式下,可以和移動命令進行連用
七、縮排和重複執行
>> 向右增加縮排
<< 向左增加縮排
【注意】在可視模式下,可選中多行同時進行縮排,只需要乙個shift+《或shift+>即可。
. 重複執行上次命令
八、查詢
1、常規查詢
/str 查詢str
n 向下查詢下乙個
n 向上查詢上乙個
2、單詞快速匹配
* 向後查詢當前游標所在單詞
# 向前查詢當前游標所在單詞
3、查詢並替換:【格式:%s///g】
1)全域性替換 :%s/舊文字/新文字/g
2)可視區域替換 :s/舊文字/新文字/g
3)確認替換(在找到對應欄位後,替換時會有提示,確認的時候是乙個乙個確認的)
:%s/舊文字/新文字/gc(c表示確認)
【y表示替換;n表示不替換;a表示全部替換;q表示退出替換;
l表示最後乙個,並把游標移動到行首;ctrl+e表示向下滾屏,ctrl+y表示向上滾屏】
九、插入
i 在當前字元前插入文字
i 在行首插入文字
a 在當前字元後面新增文字
a 在行末新增文字
o 在當前行的後面插入一空行
o 在當前行的前面插入乙個空行
操作示例1:編輯命令和數字的連用
eg1:連續輸入10個*
eg2:連續輸入10行hello
10行hello
操作示例2:利用可視塊增加多行文案
操作步驟:1> ctrl+v進入可視塊模式,垂直方向選中文字;
2> 使用j向下選中要新增的行;
3> 輸入大寫i進入編輯模式(小寫無法在可視塊模式下進入編輯模式);
4> 輸入要插入的文案;
5> 按下esc鍵回到命令模式,則可在選中的每一行都插入新增的文案
操作示例3:利用可視塊刪除多行文案
操作步驟:1> ctrl+v進入可視塊模式,垂直方向選中文字;
2> 使用j向下選中要新增的行;
3> 輸入小寫d即可同時刪除選中的多行文案;
十、末行命令下:檢視目錄、建立檔案、切換檔案、複製檔案
進入末行模式中,即:
:e . 瀏覽當前目錄下包含的檔案(e表示edit,點表示當前目錄)
:e 檔名 進入指定檔案,可以在乙個檔案中切換到當前目錄下的另乙個檔案
:n 檔名 建立檔案(n表示new)
:w 檔名 另存為,將當前檔案內容全部寫入到乙個新的檔案中,類似複製,但是編輯操作仍在該檔案中,不會切換檔案(w表示write)
十
一、分屏命令
:sp 橫向增加分屏(split)
:vsp 縱向增加分屏
【注意】分屏操作都是基於ctrl+w這個快捷鍵,所以以下操作之前都必須先按下ctrl+w,再按下以下字母即可完成相應操作。
w window 切換到下乙個視窗
r reverse 互換視窗(上下交換,或左右交換)
c close 關閉當前視窗,但是不能關閉最後乙個視窗
q quit 退出當前視窗,若是最後乙個視窗,則關閉vi
o other 關閉其他視窗
VI常用命令總結
vim有3中主要的模式 1.normal mode 當進入vim時,預設的模式就是normal mode。在此模式下,無法輸入任何文字,不過可以利用按鍵命令來執行許多操作命令,例如移動游標位置 複製 刪除。2.insert mode 進入vim輸入a i 或o鍵。即可進入insert mode,此模...
常用vi命令
i 進入修改狀態,游標所在處插入 a 進入修改狀態,游標所在後插入 o 進入修改狀態,行首插入新行 esc 回到命令狀態 w foo.txt 存成foo.txt wq 儲存修改退出 x 儲存修改退出 q 放棄編輯,強制退出 u 撤銷一步,可多步 ctrl r 恢復一步,可多步 3yy 複製游標所在及...
vi 命令總結
1.進入vi 的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n 行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern 匹配的串處...