Vim編輯器入門


我們常說:Linux中一切都是文件。因此使用文本編輯器編輯配置文件參數是一鍵非常重要的事情,而最為廣大用戶熟知的文本編輯器非vim莫屬;今天我們就來簡單了解一下vim文本編輯器的使用。

一、vi與vim

在學習vim的使用之前,我們需要介紹一下vi文本編輯器:

  • 所有類UNIX系統都會內置vi文本編輯器;
  • 很多軟件的編輯接口會調用vi,比如之前介紹過的 crontab ;

上述兩個特點造就了可以成為vi高級版的vim如今地位。vim與vi最大的不同在于其語法高亮功能,該點使其不僅是一個文本編輯器,更是程序開發工具。

二、vi的使用

  1. 讓vi或者vim如此受歡迎的主要原因,在于其三種模式:
  • 一般模式
    打開一個文件就進入該模式;該模式中可以移動光標、對文本進行 復制 粘貼 刪除 查找 等操作;


  • 編輯模式
    一般模式下,按 a,i,o 鍵可以進入( a 鍵 與 i 鍵分別是在光標后面一位和當前位置切換到編輯模式,而 o 鍵則是在光標的下面再創建一個空行,此時可敲擊 a 鍵進入編輯模式);該模式中可以對文件文本進行編輯,按 Esc 鍵回到一般模式;
  • 命令行模式
    一般模式下,輸入以 :,/,? 開頭的命令進入;該模式中光標在屏幕最下一行,可以輸入一些對文件操作的命令,按 Esc 鍵回到一般模式;

    ps:一般模式和編輯模式、一般模式和命令行模式之間可以互相切換,但是編輯模式和命令行模式之間無法互相切換。
  1. 一般模式和編輯模式常用快捷鍵
快捷鍵 說明
h 光標向左移動一個字符
j、 光標向下移動一行
k、 光標向上移動一行
l 光標向右移動一個字符
Ctrl+f、PageDown 向下翻頁
Ctrl+b、PageUp 向上翻頁
0、Home 光標移動到所在行最前字符
$、End 光標移動到所在行最后字符
G 光標移動到該文件最后一行
gg 光標移動到該文件第一行
X、Backspace 刪除光標前一個字符
xDel 刪除光標后一個字符
[rownum]Enter 光標向下移動 [rownum]
dd 刪除(剪切)光標所在行
[rownum]dd 刪除(剪切)從光標處開始的 [rownum]
yy 復制光標所在行
[rownum]yy 復制光標處開始的 [rownum]
n 顯示搜索的下一個字符串
N 顯示搜索的上一個字符串
u 撤銷
.Ctrl+r 重復上一個操作
p 粘貼前剪切或復制的內容
  1. 命令行模式常用命令
命令 說明
:w 保存
:q 退出
:q! 放棄修改強制退出
:wq! 強制保存退出
:set nu 顯示行號
:set nonu 隱藏行號
:[rownum] 跳轉到 [rownum]
:s/[str1]/[str2] 將當前行第一個 [str1] 替換為 [str2]
:s/[str1]/[str2]/g 將當前行所有 [str1] 替換為 [str2]
:%s/[str1]/[str2]/g 將全文所有 [str1] 替換為 [str2]
?[str] 搜索 [str]
/[str] 反向搜索 [str]
:set nu 顯示行號

三、vim的功能

  1. vim的保存文件、恢復與打開時的警告信息
    當我們在使用vim編輯文件時,vim會把我們進行的操作保存在以編輯文件名加.swp命名的隱藏臨時文件中;
    當遇到其他用戶在編輯同一個文件或者其他未知的原因導致vim崩潰后,我們可以使用這個臨時文件恢復之前進行的操作;
  • 新建一個名為 xdltestvim.json 的文件,使用 Ctrl+z 快捷鍵使vim在后臺運行
vim xdltestvim.json
  • 使用 ls -al 命令查看當前文件夾信息,可以看到名為 .xdltestvim.json.swp 隱藏臨時文件

  • 當我們嘗試繼續編輯 xdltestvim.json 這個文件時,會出現提示:



    并給出5個操作項:

操作項 說明
[O]pen Read-Only 只讀模式打開文件
[E]dit anyway 正常模式打開,不使用之前臨時保存的操作,會改變之前的操作
[R]ecover 恢復之前的操作,完成后需要手動刪除隱藏臨時文件
[Q]uit 退出
[A]bort 忽略,類似于 [Q]uit

根據給定的操作快捷鍵可進行對應的操作。

  1. 塊選擇
    vim一般模式和編輯模式下可以使用快捷鍵進行文本的塊選擇:
  • v 字符選擇,選擇從按下 v 開始到當前光標位置的字符:

  • V 行選擇,選擇從按下 V 開始到當前光標位置的行:

  • Ctrl+v 矩形選擇,選擇從按下 Ctrl+v 開始到當前光標位置所畫出矩形框內的字符:

文本選擇之后,可以使用之前介紹的 ydp 快捷鍵進行復制、刪除、粘貼。

  1. 多文件編輯
    當我們想要把一個文件中的文本復制到另一個文件中時,就可以使用vim的多文件編輯功能;
命令 說明
vim [file1] [file2] 同時編輯文件 [file1][file2]
:files 查看當前正在編輯的文件
:n 切換到編輯下一個文件
:N 切換到編輯上一個文件
:files 查看當前正在編輯的文件
  1. 多窗口功能
    在vim命令行模式下使用 :sp [filename] 命令在同時以多個窗口中打開多個文件;

多窗口功能常用快捷鍵:

快捷鍵 說明
Ctrl+w j、Ctrl+w ↓ 切換到下一個窗口
Ctrl+w kCtrl+w ↑ 切換到上一個窗口
Ctrl+w q 關閉下一個窗口,等同于先切換到下一個窗口再使用 :q 關閉
  1. vim常用命令示意圖

圖片轉自 deniro_li 的CSDN文章 vim 常用指令操作示意圖

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 待整理~ 1、vim ~/.vimrc 進入配置文件 如果不知道vimrc文件在哪,可使用 :scriptname...
    spfanlost閱讀 1,741評論 0 0
  • 公司新員工學習有用到,Vim官網的手冊又太大而全,而網上各方資料要么不全面,要么不夠基礎。在網上搜集各方資料,按照...
    甲魚閱讀 161,288評論 43 685
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,522評論 9 467
  • 2018.6.8 星期五 晴 生命在于運動,我運動我健康,我運動我快樂??! 不運動感覺身...
    郭姿含閱讀 376評論 1 4
  • EXO是誰?不知道你就out了!有他們現身的發布會黃牛售票敢叫價到幾萬,沒有任何拍戲經驗的兩位成員鹿晗、吳亦凡剛...
    過路風箏的獨角戲閱讀 1,137評論 0 21