linux vi文字編輯器三種模式切換及常用操作
初學者剛進入vi不要亂點鍵盤,vi的三種模式和各種命令很容易弄混@@
vi編輯器是Unix系統最初的編輯器。它使用控制檯圖形模式來模擬文字編輯視窗,允許檢視檔案中的行、在檔案中移動、插入、編輯和替換文字。
vi共分為三種模式:命令模式,編輯模式,末行模式
(1)命令模式
命令模式為vi的初始模式。在普通許可權下鍵入“”$ vi 檔名 “”或 臨時root使用者下鍵入 “# vi 檔名”(例:[email protected]:/ect# vi vsftpd.conf),則初始進入vi的命令模式。 編輯模式下按esc進入命令模式。網上很多寫在末行模式按esc可進入命令模式,我的電腦進入末行模式後幾乎所有按鍵都是輸入,輸入esc顯示“^[”而不會退回到命令模式。所以如果有情況和我相同進入末行模式不能轉換模式的,不要亂按回車鍵(我回車換行後退出不了。。結果按截圖鍵退到桌面強制退出
命令模式中:
ZZ:退出vi
h或<-左鍵:左移一個字元
j或下鍵:下移一行
k或上鍵:上移一行
l或右鍵:右移一個字元
pageDown(或ctrl+F):下翻一屏
pageUp(或ctrl+B):上翻一屏
G:移動到緩衝區的最後一行
num G:移動到緩衝區中第num行
gg:移動緩衝區的第一行
x:刪除當前游標所在位置的字元
dd:刪除當前游標所在行
dw:刪除當前游標所在位置的單詞
d$:刪除當前游標所在位置至行尾的內容
J:刪除當前游標所在行行尾的換行符(拼接行)
u:撤銷前一編輯命令
a:在當前游標後追加資料
A:在當前游標所在行行尾追加資料
r char:用char替換當前游標所在位置的單個字元
R text:用text覆蓋當前游標所在位置的資料,直到按下ESC鍵
很容易誤按的一個命令:qq:左下角會出現“[email protected]”這個標識。這是vim的一個強大的功能。它可以錄製一個巨集,參考
http://www.netingcn.com/vim-recording-function.html按q可停止巨集錄製 (2)編輯模式 在命令模式中按下【i,I,o,O,a,A,r,R】等字母之後進入編輯模式。按下上述的字母時,畫面的左下方可能會出現【--INSERT--或--插入--】的字樣,可以做文字資料輸入。各個按鍵含義如下: a:在游標後開始插入 A:在行尾開始插入 i:從游標所在位置前面開始插入 I:從游標所在列的第一個非空白字元面前開始插入 o:在游標所在列下新增一列並進入輸入模式 O:在游標所在列上方新增一列並進入輸入模式 ESC:返回命令模式 (3)末行模式 網上很多說在命令模式中輸入【:】會進入末行模式,我的電腦:沒有效果。需要在大寫模式(按CapsLock鍵)再按q鍵最末行會出現:,注意這時不能再切換回其他模式(如果可以請留言我修改,謝謝)。可在:後輸入命令 :q 如果有未修改緩衝區資料,退出。 :q! 取消所有對緩衝區資料的修改並退出【不儲存直接退出】 :w filename 將檔案儲存到另一個檔案中 :wq將緩衝區資料儲存到檔案中並退出 :sp上下分屏 :vsp左右分屏 ctrl+w+w切換屏
有些資料寫命令模式中輸入【/】進入末行模式,和:的命令不同,具體作用還不清楚。不過如果/後輸入錯誤的命令會自動回到命令模式