<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>

          Vim,牛逼

          共 3120字,需瀏覽 7分鐘

           ·

          2021-01-19 17:38

          寫完 Shell 那篇后就想寫 Vim 了,因?yàn)槿祟愂飞献詈玫奈谋揪庉嬈骶褪?Vim,不贊同的請(qǐng)自覺(jué)持有保留意見(jiàn),哈哈哈。

          Better, Stronger, Faster.

          用這三個(gè)單詞來(lái)贊美 Vim,一點(diǎn)都不為過(guò)。只不過(guò),Vim 的學(xué)習(xí)曲線相當(dāng)?shù)拇螅@是一個(gè)連我都不得不承認(rèn)的事實(shí)。就好像彈一把吉他,一開(kāi)始學(xué)起來(lái)非常痛苦,簡(jiǎn)直想摔了它,但學(xué)會(huì)后,就能感受到樂(lè)器的無(wú)限魅力,以及學(xué)妹崇拜的小眼神。

          來(lái)吧,下定決心擁抱它,沒(méi)有比它更好的文本編輯器了,非常地難學(xué),但卻不可思議地好用。

          01、初識(shí) Vim

          Vim 有著悠久的歷史。80 年代末,布萊姆·米勒在一個(gè)開(kāi)源的 vi(更早的一種計(jì)算機(jī)文本編輯器,我記得有個(gè)讀者的網(wǎng)名就叫這個(gè))基礎(chǔ)上開(kāi)發(fā)了 Vim 1.0 版本。

          1994 年,Vim 3.0 中加入了里程碑式的多窗口編輯模式。

          1996 年,Vim 4.0 中加入了圖形化界面的版本。

          1998 年,Vim 5.0 中加入了語(yǔ)法高亮的功能。

          。。。。。。

          總之是,越來(lái)越強(qiáng)!最新的版本是 8.0,啟動(dòng)界面里會(huì)顯示一句非常暖心的話——「Help poor children in Uganda」,翻譯過(guò)來(lái)就是「請(qǐng)幫助烏干達(dá)的可憐孩童」。這讓我想起來(lái)我最喜歡的一支樂(lè)隊(duì)——Beyond 的一首歌《Amani》。

          打開(kāi)終端,鍵入「vim」,就可以進(jìn)入啟動(dòng)界面了,如下圖所示。

          Vim 有很多聰明的設(shè)計(jì),所以很多其他工具也支持 Vim 模式,比如說(shuō) Visual Studio Code。很牛掰的一點(diǎn)是,Vim 逃離了鼠標(biāo)的“魔掌”,只通過(guò)鍵盤就可以肆意地操作文本。

          鍵入 :help 就可以查看 Vim 的幫助文檔,盡管文檔是英文的,但這的確是最權(quán)威的 Vim 學(xué)習(xí)資料了,聽(tīng)我一句勸,耐著性子讀一讀吧!

          鍵入 :q 可以退出幫助文檔。當(dāng)然了,如果英文讀起來(lái)確實(shí)痛苦了些,我還為你準(zhǔn)備了在線的中文翻譯文檔,看這里:

          https://yianwillis.github.io/vimcdoc/doc/help.html

          02、實(shí)操 Vim

          俗話說(shuō),“光說(shuō)不練假把戲。”咱們直接上手來(lái)體驗(yàn)一把。鍵入 vim xxx 命令。如下圖所示。

          隨后敲回車鍵,就進(jìn)入 xxx 文件的閱讀模式了。如下圖所示。

          在閱讀模式下,你需要嘗試下面這些命令。

          • 上下左右移動(dòng):對(duì)應(yīng)上下左右鍵
          • 按照詞移動(dòng):w(下一個(gè)詞),b(單詞的第一個(gè)字母),e(單詞的最后一個(gè)字母),不適合中文
          • 按照行移動(dòng):0(第一行),$(行尾),:+行數(shù)直接跳轉(zhuǎn)到指定的行(此處的+意味著按下 : 后,再輸入行數(shù),比如 10)
          • 按照屏幕移動(dòng):H(屏幕頂部),M(屏幕中間),L(屏幕底部)
          • 翻頁(yè):不同的鍵盤有所不懂,比如說(shuō) Mac 的巧克力鍵盤,fn+↑ 鍵向上翻,fn+↓鍵向下翻(此處的+意味著組合鍵)
          • gg(移動(dòng)到文件開(kāi)頭),G(移動(dòng)到文件末尾)
          • /+關(guān)鍵詞(此處的+意味著按下反斜杠后,再輸入關(guān)鍵詞)進(jìn)行搜索,n/N 用于向下或者向上匹配

          除此之外,閱讀模式下,你還可以:

          • 鍵入 i 進(jìn)入插入模式,此時(shí)會(huì)在窗口底部出現(xiàn) -- INSERT -- 的字樣。

          在插入模式下按 esc 鍵退回到閱讀模式。鄭重其事的提醒:如果你不知道現(xiàn)在處于什么模式,就狂按 esc 鍵

          除了 i 鍵可以進(jìn)入插入模式,還有其他幾個(gè)鍵可以進(jìn)入插入模式,比如說(shuō) a 鍵可以在光標(biāo)后插入;o 鍵可以在當(dāng)前行后插入;0 鍵可以在當(dāng)前行前插入。

          • 鍵入 dd 刪除當(dāng)前行,并把刪除的行存到剪貼板里。

          • 鍵入 x 刪除當(dāng)前光標(biāo)所在的一個(gè)字符。

          • 鍵入 p 可用于粘貼上一次復(fù)制的內(nèi)容。

          • 鍵入 yy 可以復(fù)制當(dāng)前行的內(nèi)容。

          • 鍵入 u 可用于撤銷當(dāng)前操作。

          • 鍵入 :w 可以保存當(dāng)前修改后的內(nèi)容。

          • 鍵入 :q! 可以在不保存內(nèi)容的情況下退出 Vim。

          • 鍵入 :wq 可以在保存內(nèi)容的情況下退出 Vim。

          **溫馨提醒:**如果你是在插入模式,想要退出或者保存內(nèi)容的話,一定要先按 esc 鍵退出到閱讀模式。

          好了,到此為止,你已經(jīng)算是入門級(jí)的 Vim 用戶了,真的,掌握了這些命令,其他編輯器能干的事,你都可以通過(guò) Vim 完成了。

          03、進(jìn)階

          孫悟空成為花果山水簾洞的大王之后,感到了空前的寂寞,他想要進(jìn)階,于是撐了一葉扁舟拜師學(xué)藝去了。同樣的,當(dāng)我們熟練掌握了上述這些命令之后,也會(huì)感到空前的寂寞,因?yàn)?Vim 的強(qiáng)大絕不止于此。

          來(lái)看一下,Vim 是怎么重復(fù)自己的。

          • 鍵入 . 可以重復(fù)上一次的命令。這意味著什么呢?意味著如果我們鍵入 dd 刪除了一行內(nèi)容,如果我們還想刪除一行的話,不需要再按下兩次 d 鍵了,只需要按下一次 . 鍵就可以了。

          • 鍵入 N+命令可以重復(fù)某個(gè)命令 N 次。(此處的+意味著按下次數(shù)后,再輸入命令)。這意味著什么呢?意味著生產(chǎn)力的大幅度提升啊!

          比如說(shuō),在閱讀模式下,鍵入 3dd 可以一次性刪除 3 行內(nèi)容;鍵入 10p 可以粘貼 10 次文本。

          來(lái)個(gè)帶勁的哈。

          通過(guò) vim hello.txt 打開(kāi)一個(gè)新的文本文件。然后鍵入 10+i+hello world+回車鍵+esc(此處的+意味著按下次數(shù)后,再鍵入 i 鍵進(jìn)入插入模式,再敲下 hello world,再按下回車鍵換行,再按下 esc 鍵退出到閱讀模式),奇妙的事情發(fā)生了,見(jiàn)下圖。

          想一下,鍵入 10. 會(huì)發(fā)生什么?相信我,試玩之后,你會(huì)“哇”的。

          妙,實(shí)在是妙。除此之外,你還可以鍵入:

          • % 匹配括號(hào)來(lái)移動(dòng),包括 {[(,前提條件是你需要把光標(biāo)移動(dòng)到括號(hào)上。
          • * 匹配單詞來(lái)向下一個(gè)移動(dòng)。(中文就無(wú)法使用了)
          • # 匹配單詞來(lái)向上一個(gè)移動(dòng)。(同上)

          記住光標(biāo)的移動(dòng)就可以脫離鼠標(biāo)的束縛了。大多數(shù)命令都可以按照下面的方式來(lái)干:

          光標(biāo)開(kāi)始的位置+命令+光標(biāo)結(jié)束的位置

          比如 0y$ 意味著:

          • 0,光標(biāo)移動(dòng)到行首
          • y,從這里開(kāi)始復(fù)制
          • $,直到行尾

          如果你想看到光標(biāo)選中了哪些文本,可以先按下 v 鍵進(jìn)入可視化視圖,然后再操作光標(biāo),如下圖所示。

          更強(qiáng)大的操作,可以看看耗子叔翻譯的一篇《簡(jiǎn)明 Vim 練級(jí)攻略》:

          https://coolshell.cn/articles/5426.html

          在閱讀模式下,鍵入 :sp 可以橫向分割窗口,鍵入 :vsp 可以豎向分割窗口,見(jiàn)下圖。

          舒服吧?原來(lái)一邊編輯,一遍預(yù)覽,在 Vim 下,只需要鍵入三四個(gè)字符!

          04、結(jié)語(yǔ)

          如果你想在手頭備一份 Vim 的幫助手冊(cè),免得在用 Vim 的時(shí)候四處搜索,實(shí)話告訴你,我替你準(zhǔn)備了,就是這么貼心。真的,花了 2 天的時(shí)間呢,整理了一份《Vim 中文用戶手冊(cè)》,310 頁(yè),內(nèi)容非常全面。

          這么優(yōu)質(zhì)的 PDF,怎么獲取呢?第一步,掃碼關(guān)注「沉默王二」公眾號(hào):

          第二步,在公眾號(hào)后臺(tái)發(fā)送?009?獲取下載鏈接。

          最后,多說(shuō)幾句。作為程序員,我們大部分的時(shí)間都花費(fèi)在摸魚上,不不不,代碼編輯器上,因此,花點(diǎn)時(shí)間來(lái)掌握一個(gè)適合自己的編輯器還是非常值得的。很多大佬都直接使用 Vim 來(lái)作為代碼編輯器,雖然我還沒(méi)達(dá)到這種高逼格,但使用 Vim 來(lái)操作日志和配置文件的頻率還是非常高的。

          要想熟練掌握 Vim,你需要這樣做:

          • 認(rèn)真閱讀這篇內(nèi)容;
          • 堅(jiān)持使用 Vim 來(lái)完成所有的文本編輯工作,即使一開(kāi)始會(huì)很痛苦;
          • 隨時(shí)查閱幫助文檔,強(qiáng)化肌肉記憶;
          • 兩周時(shí)間的苦練后,你會(huì)發(fā)現(xiàn),工作和學(xué)習(xí)效率有了大幅度的提升。
          • 一個(gè)月過(guò)后,你跑過(guò)來(lái)感謝我,“二哥,你丫的,牛逼”!
          瀏覽 78
          點(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>
                  青青草视频黄 | 无码骚逼日逼T V | 老司机午夜影院 | 久久久久草 | 成年人毛片国产网站国产片 |