❤️你是看到動圖進來的嗎?在動圖裡有沒有發現我的vim編輯器和你有什麼不同?我的vim可以自動補全、自動檢錯、自動按照格式寫入等!你的可以嗎?其實隻是你沒有配置vim!
❤️首先我們先理清楚一個概念:編輯器和編譯器和調試器!
⭐️vim:是一款編輯器,隻負責寫代碼;相當於windows的記事本;
⭐️gcc:是一款編譯器,隻負責程序的翻譯;
⭐️gdb:是一款調試器,隻負責程序的調試
而在我們在用VS寫C代碼的時候,這些是全都在VS編譯器上實現的;因為VS是集成開發環境!
目錄
1. vim的使用學習
1.1 vim 簡介:
1.2 命令模式下的常用命令
定位命令
刪除命令
復制和剪貼
搜索和搜索替換命令
保存和退出命令
2. vim使用技巧
2.1 簡單技巧
導入命令執行結果到文件裡 :r !命令
連續行註釋
2.2 快捷鍵的定義
定義快捷鍵 :map 快捷鍵 觸發命令
替換快捷鍵 :ab
3.簡單vim配置(重點)
1. vim的使用學習 1.1 vim 簡介:
❤️vim是一個功能強大的多模式編輯器, 是Linux/UNIX上最常用的文本編輯器, 它的作用是建立、編輯、顯示文本文件。 Vim 沒有菜單,隻有命令。
⭐️命令模式(默認):輸入的任何內容,都被當做命令;
⭐️插入模式;
⭐️低行模式;
❤️總結:任何模式互相切換,都可以先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:代表寫入;!命令:表示命令執行的結果,就相當於我們在終端裡直接輸入命令一樣
⭐️比如:我們正在編寫一個111文件(vim 111),我們想要把當前的時間寫入進來;我們需要退出當前編輯的文件,然後在終端輸入date命令,把結果復制,然後在vim 111進入文件,進行粘貼,想一想都麻煩!
⭐️但是如果我們在當前編輯的111文件內,直接執行:r!date;就能把時間直接打印到當前光標處!
連續行註釋
❤️:n1,n2s/^/#/g
⭐️對於Linux來說,註釋符是#;這裡和搜索替換的用法很相似,我們就先解讀一下:把n1起始行和n2終止行裡面的內容進行註釋(#);^(尖角號)代表移到首行字符並進入插入模式;#是把註釋符#插入進去;g代表不詢問;
❤️:n1,n2s/^#//g
⭐️表示把首行的註釋符#取消掉;相當於把首行的#替換成空;
2.2 快捷鍵的定義 定義快捷鍵 :map 快捷鍵 觸發命令
❤️例:我們想進行註釋(#):1.按0移至首行 2.i插入 3.#註釋 4.退回到命令模式;我們需要四步;但是如果我們自己定義快捷鍵呢?隻需要一步!
❤️:map ^P I#
⭐️我們利用map進行快捷鍵的定義,^並不是ctr+6,而是ctrl+v+p;I代表行首並進入插入模式;#代表插入的是#;成功插入後退回到命令模式;
⭐️這樣以後再註釋,直接ctrl+p,就可以瞭,感興趣的小夥伴快快操作起來吧!
❤️:map ^B 0x
⭐️有瞭首行插入註釋符#的快捷鍵,不妨在定義一個,刪除首字符的快捷鍵;0代表移動到首行,x表示刪除一個字符;
⭐️以後想要直接刪除首行的第一個字符,直接ctrl+b就可以瞭;
替換快捷鍵 :ab
❤️例:我們經常要輸入自己的郵箱,但是每次那麼長太麻煩瞭;所以我們不妨定義一個快捷鍵來代替我們的郵箱;這就需要ab命令;
❤️:ab mymail [email protected]
⭐️這樣我們在輸入郵箱直接輸mymail回車,就可以替換成[email protected],是不是很方便;
❤️註意:對於我們當前定義的快捷鍵都是臨時生效的,要想永久生效需保存在:文件 .vimrc 中
⭐️對於root用戶: 寫入/root/.vimrc當中
⭐️對於普通用戶:寫入/home/username/.vimrc
3.簡單vim配置(重點)
❤️首先讓大傢看一下我的vim配置後的結果
配置過後是不是有點像VS的環境?不妨打開自己的vim看看是不是這樣的效果!
❤️基本配置
⭐️所有的基本配置,本質是將我們的配置項寫入.vimrc當中;對於普通用戶,我們直接vim .vimrc把配置文件寫進去就行;例如一些簡單的配置:
❤️也可以用別人的配置,我目前就用的別人的,更加全面!
⭐️curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh直接在終端輸入,然後回車就可以啦!
⭐️下載完成後還要source ~/.bashrc讓配置生效
⭐️卸載配置直接執行:bash ~/.VimForCpp/uninstall.sh
❤️自動配置推薦《傳送門》;在GitHub上,進入的時候可能會有卡頓,請耐心等待;配置好以後,在vim裡面在寫代碼,別提多流暢啦!
補充:
鏈接獲取:程序員的VIM速查卡