學習linux
的一項必會技能,熟練使用vi/vim
編輯器那便最重要的了。不過一堆操做看的也是太頭疼了,如下整理了些經常使用到的命令。html
工做模式
vi
編輯界面有三種不一樣的工做模式,分別爲命令模式、輸入模式、和末行模式,不一樣的模式對文件進行的操做也不一樣。linux
模式 |
判斷方法 |
可進行的操做 |
命令模式 |
啓動後默認進入命令模式 |
光標移動、複製、粘貼、刪除、字符串查找等 |
輸入模式 |
最後一行有"--INSERT--"狀態提示 |
錄入文件內容 |
末行模式 |
最後一行有":"提示符 |
保存、退出、查找、替換等 |
這張圖說明了三種模式之間的切換方式。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編輯器 |
末行模式中的基本操做
功能 |
命令 |
備註 |
保存文件 |
: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 vi/vim | 菜鳥教程網站
菜鳥教程是一個很不錯的學習網站,在學習Linux
的過程當中,給過我很多幫助。spa