1. 程式人生 > >linux vi文字編輯器三種模式切換及常用操作

linux vi文字編輯器三種模式切換及常用操作

初學者剛進入vi不要亂點鍵盤,vi的三種模式和各種命令很容易弄混@@

vi編輯器是Unix系統最初的編輯器。它使用控制檯圖形模式來模擬文字編輯視窗,允許檢視檔案中的行、在檔案中移動、插入、編輯和替換文字。

vi共分為三種模式:命令模式,編輯模式,末行模式

(1)命令模式

命令模式為vi的初始模式。在普通許可權下鍵入“”$ vi 檔名 “”或 臨時root使用者下鍵入 “# vi 檔名”(例:[email protected]:/ect# vi vsftpd.conf),則初始進入vi的命令模式。  編輯模式下按esc進入命令模式。網上很多寫在末行模式按esc可進入命令模式,我的電腦進入末行模式後幾乎所有按鍵都是輸入,輸入esc顯示“^[”而不會退回到命令模式。所以如果有情況和我相同進入末行模式不能轉換模式的,不要亂按回車鍵(我回車換行後退出不了。。結果按截圖鍵退到桌面強制退出

[email protected]@)。

命令模式中:

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切換屏
有些資料寫命令模式中輸入【/】進入末行模式,和:的命令不同,具體作用還不清楚。不過如果/後輸入錯誤的命令會自動回到命令模式