1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        你會(huì)使用 Linux 編輯器 Vim 嗎?

        共 3287字,需瀏覽 7分鐘

         ·

        2022-06-27 19:17

        在公眾號(hào)后臺(tái)回復(fù):JGNB,可獲取杰哥原創(chuàng)的 PDF 手冊(cè)。

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

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

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

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

        1.1 vim 簡(jiǎn)介:

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

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

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

        1.2 命令模式下的常用命令

        ??插入命令

        對(duì)于小寫的 aio:a 代表在當(dāng)前光標(biāo)后插入;i 代表在當(dāng)前光標(biāo)前插入;o 在光標(biāo)下一行插入 對(duì)于大寫的 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);

        • G 跳到最后一行的開頭,gg 回到第一行的開頭;

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

        • $ 移至到當(dāng)前光標(biāo)所在的行尾,0 移至到當(dāng)前光標(biāo)所在的行首

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

        補(bǔ)充:hjkl 對(duì)應(yīng)著左移、下移、上移、右移;也可以用上下左右鍵來移動(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)大小寫之間的轉(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 代表不詢問,也可以用 c 代表詢問;

        • r  取代光標(biāo)所在處的一個(gè)字符;后面在輸入相當(dāng)于在光標(biāo)處后面直接插入;

        • R  從光標(biāo)所在處開始替換字符,直到整個(gè)行被替換完,后面在輸入相當(dāng)于在光標(biāo)處后面直接插入,按 ESC 結(jié)束;

        • u  取消上一步操作

        ?? 保存和退出命令

        • :w!  保存修改

        • :q!  不保存修改退出

        • :wq!   保存修改并退出;或者用 x!,在或者用 ESC+shift+ZZ;

        • :w 文件名;表示把當(dāng)前文件的內(nèi)容另存到指定文件里;相當(dāng)于備份;

        2. vim 使用技巧

        2.1 簡(jiǎn)單技巧

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

        • r:代表寫入;! 命令:表示命令執(zhí)行的結(jié)果,就相當(dāng)于我們?cè)诮K端里直接輸入命令一樣

        ??比如:我們正在編寫一個(gè) 111 文件 (vim 111),我們想要把當(dāng)前的時(shí)間寫入進(jìn)來;我們需要退出當(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 來說,注釋符是 #;這里和搜索替換的用法很相似,我們就先解讀一下:把 n1 起始行和 n2 終止行里面的內(nèi)容進(jìn)行注釋 (#);^(尖角號(hào)) 代表移到首行字符并進(jìn)入插入模式;# 是把注釋符 #插入進(jìn)去;g 代表不詢問;

        • :n1,n2s/^#//g

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

        2.2 快捷鍵的定義

        ??定義快捷鍵  :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,就可以了,感興趣的小伙伴快快操作起來吧!

        • :map ^B 0x

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

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

        ??替換快捷鍵:ab

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

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

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

        ??對(duì)于root 用戶:寫入 / root/.vimrc 當(dāng)中

        ??對(duì)于普通用戶:寫入/home/username/.vimrc

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

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

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

        基本配置

        ??所有的基本配置,本質(zhì)是將我們的配置項(xiàng)寫入. vimrc 當(dāng)中;對(duì)于普通用戶,我們直接 vim .vimrc 把配置文件寫進(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

        自動(dòng)配置推薦《傳送門》(https://github.com/askunix/VimForCpp);在 GitHub 上,進(jìn)入的時(shí)候可能會(huì)有卡頓,請(qǐng)耐心等待;配置好以后,在 vim 里面在寫代碼,別提多流暢啦!

        來自:CSDN,作者:@每天都要敲代碼
        鏈接:blog.csdn.net/m0_61933976/article/details/124653524

        推薦閱讀

        5分鐘學(xué)會(huì) Vim 分屏操作方方面面

        Linux vi/vim 中的一些技巧

        分享兩個(gè)冷門但又超實(shí)用的 Vim 使用技巧!

        沒想到還能用這種方式學(xué) Vim!

        史上最全的 vim 快捷鍵文檔!

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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人aaa| 超碰在线日本 | 四虎4hu新入口av | 国产精品久久久久久久久久久久午 | 色色草| 日本美女爱爱视频 | 日本一級片黃色一級片去又跑去 | 国内自拍青青 | 黑人大战少妇 | 青青草人人 |