<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          超強(qiáng) vim 編輯器使用技巧

          共 3021字,需瀏覽 7分鐘

           ·

          2022-11-18 23:04

          首先我們先理清楚一個(gè)概念:編輯器和編譯器和調(diào)試器!

          • ??vim:是一款編輯器,只負(fù)責(zé)寫(xiě)代碼;相當(dāng)于 windows 的記事本;
          • ??gcc:是一款編譯器,只負(fù)責(zé)程序的翻譯;
          • ??gdb:是一款調(diào)試器,只負(fù)責(zé)程序的調(diào)試

          而在我們?cè)谟?VS 寫(xiě) C 代碼的時(shí)候,這些是全都在 VS 編譯器上實(shí)現(xiàn)的;因?yàn)?VS 是集成開(kāi)發(fā)環(huán)境!

          vim 的使用學(xué)習(xí)

          vim 簡(jiǎn)介

          vim 是一個(gè)功能強(qiáng)大的多模式編輯器, 是 Linux/UNIX 上最常用的文本編輯器, 它的作用是建立、編輯、顯示文本文件。Vim 沒(méi)有菜單,只有命令。

          • ??命令模式(默認(rèn)):輸入的任何內(nèi)容,都被當(dāng)做命令;
          • ??插入模式;
          • ??低行模式;

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

          命令模式下的常用命令
          ??插入命令

          對(duì)于小寫(xiě)的 aio:

          • a 代表在當(dāng)前光標(biāo)后插入;
          • i 代表在當(dāng)前光標(biāo)前插入;
          • o 在光標(biāo)下一行插入

          對(duì)于大寫(xiě)的 AIO:

          • A 代表在當(dāng)前光標(biāo)所在行的行尾插入;
          • I 代表在當(dāng)前光標(biāo)所在行的行首插入;
          • O 代表在當(dāng)前光標(biāo)所在行的上一行進(jìn)行插入;
          ?? 定位命令

          • 首先 shift+: 進(jìn)入低行模式,然后輸入 set nu 就可以在前面加上行號(hào),set nonu 就可以取消行號(hào);
          • GG 跳到最后一行的開(kāi)頭,gg 回到第一行的開(kāi)頭;
          • 跳到指定的行:nG 或者: n
          • $ 移至到當(dāng)前光標(biāo)所在的行尾,0 移至到當(dāng)前光標(biāo)所在的行首

          補(bǔ)充:b 往前找,w 往后找,并且每次跳過(guò)一個(gè)單詞;

          補(bǔ)充:hjkl 對(duì)應(yīng)著左移、下移、上移、右移;也可以用上下左右鍵來(lái)移動(dòng);

          補(bǔ)充:L 是移動(dòng)到本界面的最后一行;

          ?? 刪除命令
          • x 刪除光標(biāo)所在處字符,每次刪除一個(gè)字符;
          • nx 刪除光標(biāo)所在處后 n 個(gè)字符,nX 刪除光標(biāo)所在處前 n 個(gè)字符,n 是幾就刪除光標(biāo)后幾個(gè)字符;
          • dd 刪除光標(biāo)所在的這一行;
          • D 刪除光標(biāo)所在處到這一行的行尾位置;
          • ndd 從光標(biāo)所在行算起,n 是幾就刪除后面的幾行;
          • dG 刪除光標(biāo)所在的這一行到整個(gè)文件的末尾處;
          • :n1,n2d 刪除指定范圍的行;
          • u 如果誤刪除,可以利用 u 進(jìn)行回退恢復(fù),相當(dāng)于 windows 里的 ctrl+z 的作用;

          補(bǔ)充:shift ~ 可以實(shí)現(xiàn)大小寫(xiě)之間的轉(zhuǎn)換;

          ??復(fù)制和剪貼

          yy  復(fù)制當(dāng)前行,nyy  復(fù)制當(dāng)前行以下 n 行;然后 p 就可以復(fù)制到當(dāng)前光標(biāo)處的下一行,P 復(fù)制到當(dāng)前光標(biāo)處的上一行;

          dd  剪切當(dāng)前行,ndd  剪切當(dāng)前行以下 n 行;然后 p 就可以復(fù)制到當(dāng)前光標(biāo)處的下一行,P 復(fù)制到當(dāng)前光標(biāo)處的上一行;

          ??搜索和搜索替換命令
          • :%s/old/new  全文替換指定字符串,%s 代表整個(gè)全文,把 old 字符串替換成 new 字符串;
          • :n1,n2s/old/new/g  全文替換指定字符串,n1 是起始行,n2 是終止行;把 old 字符串替換成 new 字符串;g 代表不詢問(wèn),也可以用 c 代表詢問(wèn);
          • r  取代光標(biāo)所在處的一個(gè)字符;后面在輸入相當(dāng)于在光標(biāo)處后面直接插入;
          • R  從光標(biāo)所在處開(kāi)始替換字符,直到整個(gè)行被替換完,后面在輸入相當(dāng)于在光標(biāo)處后面直接插入,按 ESC 結(jié)束;
          • u  取消上一步操作
          ?? 保存和退出命令
          • :w!  保存修改
          • :q!  不保存修改退出
          • :wq!   保存修改并退出;或者用 x!,在或者用 ESC+shift+ZZ;
          • :w 文件名;表示把當(dāng)前文件的內(nèi)容另存到指定文件里;相當(dāng)于備份;

          vim 使用技巧

          簡(jiǎn)單技巧
          ??導(dǎo)入命令執(zhí)行結(jié)果到文件里  :r ! 命令

          r:代表寫(xiě)入;! 命令:表示命令執(zhí)行的結(jié)果,就相當(dāng)于我們?cè)诮K端里直接輸入命令一樣 ??比如:我們正在編寫(xiě)一個(gè) 111 文件 (vim 111),我們想要把當(dāng)前的時(shí)間寫(xiě)入進(jìn)來(lái);我們需要退出當(dāng)前編輯的文件,然后在終端輸入 date 命令,把結(jié)果復(fù)制,然后在 vim 111 進(jìn)入文件,進(jìn)行粘貼,想一想都麻煩!

          ??但是如果我們?cè)诋?dāng)前編輯的 111 文件內(nèi),直接執(zhí)行:r!date;就能把時(shí)間直接打印到當(dāng)前光標(biāo)處!

          ??連續(xù)行注釋
          :n1,n2s/^/#/g

          ??對(duì)于 Linux 來(lái)說(shuō),注釋符是 #;這里和搜索替換的用法很相似,我們就先解讀一下:把 n1 起始行和 n2 終止行里面的內(nèi)容進(jìn)行注釋 (#);^(尖角號(hào)) 代表移到首行字符并進(jìn)入插入模式;# 是把注釋符 #插入進(jìn)去;g 代表不詢問(wèn);

          :n1,n2s/^#//g

          ??表示把首行的注釋符 #取消掉;相當(dāng)于把首行的 #替換成空;

          快捷鍵的定義
          ??定義快捷鍵  :map  快捷鍵 觸發(fā)命令

          例:我們想進(jìn)行注釋 (#):

          • 1.按 0 移至首行
          • 2.i 插入
          • 3.# 注釋
          • 4.退回到命令模式;

          我們需要四步;但是如果我們自己定義快捷鍵呢?只需要一步!

          :map ^P I#

          ??我們利用 map 進(jìn)行快捷鍵的定義,^ 并不是 ctr+6,而是 ctrl+v+p;I 代表行首并進(jìn)入插入模式;# 代表插入的是 #;成功插入后退回到命令模式;

          ??這樣以后再注釋,直接 ctrl+p,就可以了,感興趣的小伙伴快快操作起來(lái)吧!

          :map ^B 0x

          ??有了首行插入注釋符 #的快捷鍵,不妨在定義一個(gè),刪除首字符的快捷鍵;0 代表移動(dòng)到首行,x 表示刪除一個(gè)字符;

          ??以后想要直接刪除首行的第一個(gè)字符,直接 ctrl+b 就可以了;

          ??替換快捷鍵:ab

          例:我們經(jīng)常要輸入自己的郵箱,但是每次那么長(zhǎng)太麻煩了;所以我們不妨定義一個(gè)快捷鍵來(lái)代替我們的郵箱;這就需要 ab 命令;

          :ab mymail [email protected]

          ??這樣我們?cè)谳斎豚]箱直接輸 mymail 回車,就可以替換成 [email protected],是不是很方便;

          注意:對(duì)于我們當(dāng)前定義的快捷鍵都是臨時(shí)生效的,要想永久生效需保存在:文件.vimrc中

          • ??對(duì)于root 用戶:寫(xiě)入 / root/.vimrc 當(dāng)中
          • ??對(duì)于普通用戶:寫(xiě)入/home/username/.vimrc

          簡(jiǎn)單 vim 配置(重點(diǎn))

          首先讓大家看一下我的 vim 配置后的結(jié)果 

           配置過(guò)后是不是有點(diǎn)像 VS 的環(huán)境?不妨打開(kāi)自己的 vim 看看是不是這樣的效果!

          基本配置

          ??所有的基本配置,本質(zhì)是將我們的配置項(xiàng)寫(xiě)入. vimrc 當(dāng)中;對(duì)于普通用戶,我們直接 vim .vimrc 把配置文件寫(xiě)進(jìn)去就行;例如一些簡(jiǎn)單的配置:

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

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

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

          ??下載完成后還要 source ~/.bashrc 讓配置生效

          ??卸載配置直接執(zhí)行:bash ~/.VimForCpp/uninstall.sh

          原文鏈接:https://blog.csdn.net/m0_61933976/article/details/124653524


          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久热这里有精品 | 中文字幕一级毛片 | 操我操综合| 无码操大逼| 男女啪免费的 |