學習 linux 的一項必會技能,熟練使用 vi/vim 編輯器那便最重要的了。不過一堆操作看的也是太頭疼了,以下整理了些常用到的命令。末尾福利! ...
學習linux
的一項必會技能,熟練使用vi/vim
編輯器那便最重要的了。不過一堆操作看的也是太頭疼了,以下整理了些常用到的命令。
工作模式
vi
編輯界面有三種不同的工作模式,分別為命令模式、輸入模式、和末行模式,不同的模式對文件進行的操作也不同。
模式 | 判斷方法 | 可進行的操作 |
---|---|---|
命令模式 | 啟動後預設進入命令模式 | 游標移動、複製、粘貼、刪除、字元串查找等 |
輸入模式 | 最後一行有"--INSERT--"狀態提示 | 錄入文件內容 |
末行模式 | 最後一行有":"提示符 | 保存、退出、查找、替換等 |
- vi/vim 工作模式
這張圖說明瞭三種模式之間的切換方式。
命令模式中的基本操作
- 模式切換
操作類型 | 操作鍵 | 功能 |
---|---|---|
進入輸入模式 | a | 游標位置之後插入內容 |
^ | A | 游標所在行末尾插入內容 |
^ | i | 游標位置之前插入內容 |
^ | I | 游標所在行開頭插入內容 |
^ | o | 游標所在行下麵插入新行 |
^ | O | 游標所在行上面插入新行 |
退出輸入模式 | Esc | 退出輸入模式,返回命令模式 |
- 游標移動
操作類型 | 操作鍵 | 功能 |
---|---|---|
方向移動 | ↑、↓、←、→ | 上、下、左、右 |
翻頁 | Page Down或Ctrl+F | 向下翻動一整頁內容 |
^ | Page Up或Ctrl+ B | 向上翻動一整頁內容 |
行內快速跳轉 | Home鍵或 "^" 、數字 "0" | 跳轉至行首 |
^ | End鍵或 "$" 鍵 | 跳轉到行尾 |
行間快速跳轉 | 1G或者gg | 跳轉到文件的首行 |
^ | G | 跳轉到文件的末尾行 |
^ | #G | 跳轉到文件中的第#行 |
行號顯示 | :set nu | 在編輯器中顯示行號 |
^ | :set nonu | 取消編輯器中的行號顯示 |
- 複製、粘貼、刪除
操作類型 | 操作鍵 | 功能 |
---|---|---|
刪除 | x或Del | 刪除游標處的單個字元 |
^ | dd | 刪除當前游標所在行 |
^ | #dd | 刪除從游標所在行開始的#行內容 |
^ | d^ | 刪除當前游標之前到行首的所有字元 |
^ | d$ | 刪除當前游標處到行尾的所有字元 |
複製 | yy | 複製當前行整行的內容到剪貼板 |
^ | #yy | 複製從游標所在行開始的#行內容 |
粘貼 | p | 將緩衝區中的內容粘貼到游標位置處之後 |
^ | P | 粘貼到游標位置處之前 |
- 文件內容查找
操作鍵 | 功能 |
---|---|
/word | 從上而下在文件中查找字元串"word" |
?word | 從下而上在文件中查找字元串"word" |
n | 定位下一個匹配的被查找字元串 |
N | 定位上一個匹配的被查找字元串 |
- 撤銷編輯及保存退出
操作鍵 | 功能 |
---|---|
u | 按次取消最近的一次操作;重覆u鍵,恢復多步操作 |
U | 用於取消對當前行所做的所有編輯 |
ZZ | 保存當前的文件內容並退出vi編輯器 |
末行模式中的基本操作
- 保存文件及退出 vi 編輯器
功能 | 命令 | 備註 |
---|---|---|
保存文件 | :w | 保存修改的內容 |
^ | :w /root/newfile | 另存為其它文件 |
退出 | :q | 未修改退出 |
^ | :q! | 放棄對文件內容的修改,並退出 |
保存文件退出 | :wq | 保存修改的內容並退出 |
- 打開新文件或讀入其他文件內容
命令 | 功能 |
---|---|
:e ~/install.log | 打開新的文件進行編輯 |
:r /etc/filesystems | 在當前文件中讀入其他文件內容 |
- 文件內容替換
命令 | 功能 |
---|---|
:s /old/new | 將當前行中查找到的第一個字元串 "old" 替換為 "new" |
:s /old/new/g | 將當前行中查找到的所有字元串 "old" 替換為 "new" |
:#,# s/old/new/g | 在行號 "#,#" 範圍內替換所有的字元串 "old" 為 "new" |
:% s/old/new/g | 在整個文件範圍內替換所有的字元串 "old" 為 "new" |
:s /old/new/c | 在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認 |
vi/vim 鍵盤圖
附上一張中文版的
vi/vim
鍵盤圖,裡面應該是把所有的操作都註明瞭,不知你怎麼想,反正我是看蒙了。
原英文版圖片:vi-vim-cheat-sheet
參考說明
菜鳥教程是一個很不錯的學習網站,在學習Linux
的過程中,給過我不少幫助。