【Linux】中預設文字編輯器 vim 的入門與進階

和樹不困發表於2021-01-02

Linux 基本操作 vim 篇





vim 簡介


vim 是 Linux 上最基本的文字編輯工具,其地位像是 Windows 自帶的記事本工具,還要少數的 Linux 系統自帶 leafpad 編輯器,leafpad 的操作介面更像是 Win 的記事本,可以使用滑鼠切換游標,自由刪除,並且點選左上角的檔案可以進行儲存;但是 vim 編輯器卻像是一個簡單的指令工具,其操作必須依靠指令來完成,但是如果不會使用 vim 的話,是無法完成很多操作的,甚至對大多數只整合了 vim 的系統來說,不會使用 vim ,甚至無法安裝 leafpad ,而在 Linux 系統中,剛裝完的系統(國產系統除外)一定要進行換源,這時候就要使用到一個編輯器工具,如果你的系統只有 vim,最好還是學習一下如何使用 vim;



vim 三種模式


  • 只讀模式:使用 vim 開啟檔案為 只讀模式,此時只可以檢視檔案內容,無法對檔案進行編輯;
  • 插入模式:即 編輯模式 ,此時可以對檔案進行編輯,字元的插入或刪除等操作;
  • 底行模式:類似於終端的命令列,此時可以輸入命令,選擇是儲存檔案 / 儲存並退出 / 不儲存退出 / 強制退出 等;



vim 基本命令


基本的編輯命令,學會後可以流暢操作 vim 編輯器;


  • 在進入 vim 之前,建議使用:sudo su 命令進入超級管理員模式,否則一些系統級的檔案即使你編輯了,也無法進行儲存;

  • 開啟檔案:開啟控制終端,輸入 vim + 一個文字的名字,就可以開啟這個文字(開啟當前目錄下的檔案只需要輸入檔名,開啟其他目錄下的檔案需要輸入絕對地址);這個時候是“只讀”模式,無法對檔案進行編輯;

  • 編輯命令:進入檔案之後,點選i(insert 縮寫),進入編輯模式,這個時候可以自使用上下左右四個鍵控制游標,使用刪除鍵刪除,或輸入任意字元;

  • 底行模式:對檔案編輯好之後,點一下Esc鍵,進入底行模式,此時可以輸入命令選擇對檔案的操作,基本命令如下(注:以冒號開頭):

指令 效果 備註
:wq 儲存 並 退出 儲存檔案並退出檔案,返回到命令終端介面;
:q 退出 不儲存,直接退出檔案,返回到命令終端介面;
:q! 強制退出 提示無法儲存的時候,加!可以強制退出檔案,此時的檔案快取在記憶體中,並不會存回磁碟中;
:wq! 強制儲存並退出 此時檔案會被強制儲存,並退出回到命令終端;



vim 進階命令


進階指令,學會後操作更方便,相當於魔法加成;


  • 游標控制
指令 效果 備註
:num 讓游標跳到第 Xnum行首 只會跳到行首
:nd 刪除第 n 行 d:delete
:n , md 從第 n 行刪到第 m 行 m 不能超過最後一行,否則提示無效
  • 快速複製貼上
指令 效果 備註
:n,my 複製第 n 行到 m 行的內容 按 p 貼上(Paste)
:n,md 剪下第 n 行到 m 行的內容 按 p 貼上(Paste)
  • 文字編輯(效果類似於各類編輯器的“編輯”功能)
指令 效果 備註
:%s#old#new#g 全域性替換 g:全域性 ;#不是代替空格用的,不可以刪除;
:num s#old#new#g 在第 num 行查詢old並將其替換成new 相對於上一條命令,加了一個範圍:某一行;
:n , m s#old#new#g 在第 n 到 m 行查詢old並將其替換成new 相對於上一條命令,擴大了範圍,多行;-
  • 檔案操作
指令 效果 備註
vsp xxx.c 左右分屏開啟 xxx.c 檔案 分屏應該很常見了,可以理解吧
sp xxx.c 上下分屏開啟 xxx.c 檔案
:w new xxx.c 將當前檔案另存為 xxx.c 檔案 可以使用絕對地址
:n ,mw new xxx.c 將當前檔案的第 n 到 m 行另存為 xxx.c 檔案 使用時候注意不要少了 w
:0r /etc/hosts 將/etc/hosts檔案中的內容匯入到此檔案的開頭
:$r /etc/hosts 將/etc/hosts檔案中的內容匯入到此檔案的結尾
  • 搜尋內容
指令 效果 備註
/word 在檔案中搜尋word這個單詞
n 向下查詢(下一個)
N 向上查詢(上一個)
/word\c 忽略大小寫,在檔案中搜尋word這個單詞
:noh 取消高亮 退出“查詢模式”



注意事項


  • vim 可以開啟任意模式檔案,不一定非得是 .c檔案
  • 開啟 / 另存為 的時候 最好加上絕對地址
  • $ 符號一般指最後( 行 / 字母 )

相關文章