Vi 和 Vim 編輯器詳細使用方法

CentOS-Logo

學習linux的一項必會技能,熟練使用vi/vim編輯器那便最重要的了。不過一堆操做看的也是太頭疼了,如下整理了些經常使用到的命令。html


工做模式

vi編輯界面有三種不一樣的工做模式,分別爲命令模式、輸入模式、和末行模式,不一樣的模式對文件進行的操做也不一樣。linux

模式 判斷方法 可進行的操做
命令模式 啓動後默認進入命令模式 光標移動、複製、粘貼、刪除、字符串查找等
輸入模式 最後一行有"--INSERT--"狀態提示 錄入文件內容
末行模式 最後一行有":"提示符 保存、退出、查找、替換等
  • vi/vim 工做模式

這張圖說明了三種模式之間的切換方式。vim

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學習

vi/vim 鍵盤圖


參考說明

Linux vi/vim | 菜鳥教程網站

菜鳥教程是一個很不錯的學習網站,在學習Linux的過程當中,給過我很多幫助。spa

相關文章
相關標籤/搜索