你會使用 Linux 編輯器 Vim 嗎?

語言: CN / TW / HK

點選進入“PHP開源社群”    

免費獲取進階面試、文件、影片資源

首先我們先理清楚一個概念:編輯器和編譯器和偵錯程式!

:star:️vim:是一款編輯器,只負責寫程式碼;相當於 windows 的記事本;

:star:️gcc:是一款編譯器,只負責程式的翻譯;

:star:️gdb:是一款偵錯程式,只負責程式的除錯

而在我們在用 VS 寫 C 程式碼的時候,這些是全都在 VS 編譯器上實現的;因為 VS 是整合開發環境!

1. vim 的使用學習

1.1 vim 簡介:

vim 是一個功能強大的多模式編輯器, 是 Linux/UNIX 上最常用的文字編輯器, 它的作用是建立、編輯、顯示文字檔案。Vim 沒有選單,只有命令。

:star:️命令模式(預設):輸入的任何內容,都被當做命令;

:star:️插入模式;

:star:️低行模式;

總結:任何模式互相切換,都可以先 Esc 切換到命令模式!

1.2 命令模式下的常用命令

插入命令

對於小寫的 aio:a 代表在當前游標後插入;i 代表在當前游標前插入;o 在游標下一行插入 對於大寫的 AIO:A 代表在當前游標所在行的行尾插入;I 代表在當前游標所在行的行首插入;O 代表在當前游標所在行的上一行進行插入;

定位命令

  • 首先 shift+: 進入低行模式,然後輸入 set nu 就可以在前面加上行號,set nonu 就可以取消行號;

  • GG 跳到最後一行的開頭,gg 回到第一行的開頭;

  • 跳到指定的行:nG 或者: n

  • $ 移至到當前游標所在的行尾,0 移至到當前游標所在的行首

補充:b 往前找,w 往後找,並且每次跳過一個單詞;

補充:hjkl 對應著左移、下移、上移、右移;也可以用上下左右鍵來移動;

補充:L 是移動到本介面的最後一行;

刪除命令

  • x刪除游標所在處字元,每次刪除一個字元;

  • nx 刪除游標所在處後 n 個字元,nX 刪除游標所在處前 n 個字元,n 是幾就刪除游標後幾個字元;

  • dd 刪除游標所在的這一行;

  • D 刪除游標所在處到這一行的行尾位置;

  • ndd 從游標所在行算起,n 是幾就刪除後面的幾行;

  • dG 刪除游標所在的這一行到整個檔案的末尾處;

  • :n1,n2d 刪除指定範圍的行;

  • u 如果誤刪除,可以利用 u 進行回退恢復,相當於 windows 裡的 ctrl+z 的作用;

補充:shift ~ 可以實現大小寫之間的轉換;

複製和剪貼

  • yy  複製當前行,nyy  複製當前行以下 n 行;然後 p 就可以複製到當前游標處的下一行,P 複製到當前游標處的上一行;

  • dd  剪切當前行,ndd  剪切當前行以下 n 行;然後 p 就可以複製到當前游標處的下一行,P 複製到當前游標處的上一行;

搜尋和搜尋替換命令

  • :%s/old/new  全文替換指定字串,%s 代表整個全文,把 old 字串替換成 new 字串;

  • :n1,n2s/old/new/g  全文替換指定字串,n1 是起始行,n2 是終止行;把 old 字串替換成 new 字串;g 代表不詢問,也可以用 c 代表詢問;

  • r  取代游標所在處的一個字元;後面在輸入相當於在游標處後面直接插入;

  • R  從游標所在處開始替換字元,直到整個行被替換完,後面在輸入相當於在游標處後面直接插入,按 ESC 結束;

  • u  取消上一步操作

儲存和退出命令

  • :w!  儲存修改

  • :q!  不儲存修改退出

  • :wq!   儲存修改並退出;或者用 x!,再或者用 ESC+shift+ZZ;

  • :w 檔名;表示把當前檔案的內容另存到指定檔案裡;相當於備份;

2. vim 使用技巧

2.1 簡單技巧

匯入命令執行結果到檔案裡  :r ! 命令

  • r:代表寫入;! 命令:表示命令執行的結果,就相當於我們在終端裡直接輸入命令一樣

:star:️比如:我們正在編寫一個 111 檔案 (vim 111),我們想要把當前的時間寫入進來;我們需要退出當前編輯的檔案,然後在終端輸入 date 命令,把結果複製,然後在 vim 111 進入檔案,進行貼上,想一想都麻煩!

:star:️但是如果我們在當前編輯的 111 檔案內,直接執行:r!date;就能把時間直接列印到當前游標處!

連續行註釋

  • :n1,n2s/^/#/g

:star:️對於 Linux 來說,註釋符是 #;這裡和搜尋替換的用法很相似,我們就先解讀一下:把 n1 起始行和 n2 終止行裡面的內容進行註釋 (#);^(尖角號) 代表移到首行字元並進入插入模式;# 是把註釋符 #插入進去;g 代表不詢問;

  • :n1,n2s/^#//g

:star:️表示把首行的註釋符 #取消掉;相當於把首行的 #替換成空;

2.2 快捷鍵的定義

定義快捷鍵  :map  快捷鍵 觸發命令

例:我們想進行註釋 (#):1. 按 0 移至首行  2.i 插入   3.# 註釋   4.退回到命令模式;我們需要四步;但是如果我們自己定義快捷鍵呢?只需要一步!

  • :map ^P I#

:star:️我們利用 map 進行快捷鍵的定義,^ 並不是 ctr+6,而是 ctrl+v+p;I 代表行首並進入插入模式;# 代表插入的是 #;成功插入後退回到命令模式;

:star:️這樣以後再註釋,直接 ctrl+p,就可以了,感興趣的小夥伴快快操作起來吧!

  • :map ^B 0x

:star:️有了首行插入註釋符 #的快捷鍵,不妨再定義一個,刪除首字元的快捷鍵;0 代表移動到首行,x 表示刪除一個字元;

:star:️以後想要直接刪除首行的第一個字元,直接 ctrl+b 就可以了;

替換快捷鍵:ab

例:我們經常要輸入自己的郵箱,但是每次那麼長太麻煩了;所以我們不妨定義一個快捷鍵來代替我們的郵箱;這就需要 ab 命令;

:star:️這樣我們再輸入郵箱直接輸 mymail 回車,就可以替換成 [email protected],是不是很方便;

注意:對於我們當前定義的快捷鍵都是臨時生效的,要想永久生效需儲存在:檔案.vimrc中

:star:️對於root 使用者:寫入 / root/.vimrc 當中

:star:️對於普通使用者:寫入/home/username/.vimrc

3. 簡單 vim 配置(重點)

首先讓大家看一下我的 vim 配置後的結果

配置過後是不是有點像 VS 的環境?不妨開啟自己的 vim 看看是不是這樣的效果!

基本配置

:star:️所有的基本配置,本質是將我們的配置項寫入. vimrc 當中;對於普通使用者,我們直接 vim .vimrc 把配置檔案寫進去就行;例如一些簡單的配置:

也可以用別人的配置,我目前就用的別人的,更加全面!

> curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 

直接在終端輸入,然後回車就可以啦!

:star:️下載完成後還要 source ~/.bashrc 讓配置生效

:star:️解除安裝配置直接執行:bash ~/.VimForCpp/uninstall.sh

*宣告:本文於網路整理,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

END

PHP開源社群

掃描關注  進入”PHP資料“

免費獲取進階

面試、文件、影片資源

點選“檢視原文”獲取更多