一、vim的介紹
vim是vi的高級版本,能夠像一般的IDE一樣,根據(jù)文件名載入不同的語法高亮。
vi/vim有三種模式:
- 一般模式:進(jìn)入vi的默認(rèn)模式,能夠進(jìn)行復(fù)制、黏貼、刪除等操作;
- 編輯模式:從一般模式按下‘i’即可進(jìn)入;
- 命令行模式:從一般模式按下“:”、'?'、'/'即可進(jìn)入;
二、vi/vim的按鍵與使用
“一般模式”的按鍵與使用
- h 向左
- J 向下
- K 向上
- l 向右
- 20h 向左20個字符
- 20j 向下20行
- 20k 向上20行
- 20l 向右20個字符
- Page Up 向上翻頁
- Page Down 向下翻頁
- Home 光標(biāo)移到當(dāng)前行的最左端
- End 光標(biāo)移到當(dāng)前航的最右端
- n [空格] 光標(biāo)向右移動n個字符
- N[Enter] 光標(biāo)向下N行
- G 光標(biāo)移到最后一行
- nG 光標(biāo)移動到第n行
- gg或1G 光標(biāo)移動到第一行
- /word 向下查找word
- ?word 向上查找word
- n 如果是/word后使用,則表示向下繼續(xù)查找;如果是?word后使用,則表示向上繼續(xù)查找;
- N 如果是/word后使用,則表示向上繼續(xù)查找;如果是?word后使用,則表示向下繼續(xù)查找;
- :n,m/old/new/g 從第n行到第m行中,將old替換為new
- :n,$s/old/new/g 從第n行到最后一行中,將old替換為new
- u 類似windows中的CTRL+Z,前一步
- x 向后刪除一個字符
- X 向前刪除一個字符
- 3x 向后刪除3個字符
- 3X 向前刪除3個字符
- dd 刪除當(dāng)前行
- 3dd 刪除當(dāng)前行開始的3行
- yy 復(fù)制當(dāng)前行
- 3yy 復(fù)制當(dāng)前行開始的3行
- p 黏貼到當(dāng)前光標(biāo)的下一行
- P 黏貼到當(dāng)前光標(biāo)的上一行
- CTRL+r 重做前一個操作
“命令行模式”的按鍵與使用:
- w 保存
- :q 退出vim
- :wq 保存并退出
- :wq! (在可以轉(zhuǎn)換權(quán)限的情況下)強(qiáng)制保存并退出
- :q! 直接退出不保存
- :w filename 另存為filename
- :n,m w filename 將第n行到第m行另存為filename
- :set nu 顯示行號
- :set nonu 不顯示行號
- :! command 暫時離開vim,并執(zhí)行command,執(zhí)行完后再進(jìn)入vim
- :r filename 將filename文件的數(shù)據(jù)讀入當(dāng)前文件
- :set all 顯示當(dāng)前vim的環(huán)境配置
三、vim的恢復(fù)機(jī)制
vim正在編輯某個文件時都會同時存在.file.swp,此文件用來暫存,幫助恢復(fù)文件內(nèi)容,當(dāng)vim正常關(guān)閉此文件時,.filename.swp文件會消失。
- o:以只讀方式打開;
- R:恢復(fù),即從swp文件中恢復(fù),但是swp文件不會隨著vim關(guān)閉而刪除,需要手動刪除;
- d:刪除swp文件;
- q:退出vim;