辛星跟您玩轉vim第三節之程式員特需要的移動方式,辛星vim

來源:互聯網
上載者:User

辛星跟您玩轉vim第三節之程式員特需要的移動方式,辛星vim

      前面第二節我首先值得一提的是,我的vim教程pdf版本已經寫完了,大家可以去下載,這裡是csdn的:csdn下載,如果左邊的掛掉了,也可以自行在瀏覽器下面輸入如下地址進行下載:http://download.csdn.net/detail/xinguimeng/7714213 ,當然,如果你是百度網盤的忠實使用者,也可以藉助於百度網盤,我也同步上傳到百度網盤了,如下:百度網盤下載 ,如果地址掛了,可以在瀏覽器中輸入:http://pan.baidu.com/s/1sj9CLXz 來下載。

         前面我們介紹了如何在命令模式下移動游標,但是對於程式員來說遠遠不夠,主要是程式員的需求有點特殊,而vim的開發人員也是程式員,自然,程式員何必為難程式員,但是,程式員究竟有哪些需求是特別重要的呢?

***********************************程式員特供*******************************

1.在我們用類C語言去編程的時候,經常會被層層嵌套的大小中括弧給搞得頭暈腦脹的,別急,作為神器的vim已經幫我們想好了一個解決方案,那就是我們只需要把游標移動到某一個括弧上,然後在命令模式下執行%命令,它會自動把游標定位到與之對應的括弧上,不管是小括弧,大括弧,還是中括弧,都是適用的。如果執行了該命令而沒有匹配到,多半是程式編寫不正確。其實我們不用執行%命令,當我們移動到括弧的一部分的時候,另一部分會自然而然的高亮顯示。

2.有時候我們需要高亮顯示行號,我們可以用:set number來顯示行號,注意,我們在插入模式下,先用ESc鍵回到命令模式下,然後用:進入底行模式,然後輸入set number,這樣才可以顯示行號,而:set nonumber則會取消顯示行號。

3.有時候我們編寫程式,如果是c、cpp等編譯型程式,經常會說編譯到某一行的時候出現錯誤,由於我們的程式動輒就幾百行,如果是靠滑鼠的滾輪和眼睛去找到它,那無疑是非常費力的,在vim下,我們可以用G命令來搞定它,這裡的G是“go”的意思,表示“前往,到達”,比如我們想到達200行,那就可以在命令模式下輸入200G來做到。

4.值得注意的是,這裡的G是需要大寫的,通常我.喜歡按住shifit然後再按下g鍵就ok了。跳轉到其他行也是類似的,我就不親自打命令了。

5.有時候,我們並不知道具體的行數,只是想看看大致的某一部分代碼,我們可以用%命令,比如50%表示跳轉到檔案大約百分之五十的地方,當然,這裡的50也可以換成其他的數字,來表示各種不同的位置。


**************************************搜尋*********************************

1.咱們程式員經常需要查看某個函數的功能等等,那麼如何快速的通過變數名和函數名來尋找呢?

2.當然,咱們後面會學習好幾種更強大的方法。但是,這裡的使用/加一個單詞的形式來做它無疑是最快捷的方式,然後咱們可以用數字加n的組合表示來定位第幾個單詞,也可以直接用n命令來定位到下一個。

3.如果我們單純的想看看某個函數名,比如該函數名叫xin,那麼我們可以用/\<xin\>來做到,其中\<表示匹配一個單詞的開頭,而\>表示匹配一個單詞的結尾。


***************************Regex***********************************

1.沒錯,我想大多數程式員都會Regex把,至於有多熟悉,那和自己工作的方向有關,但是,至少應該懂點。

2.我們前面說過用定界符來只搜尋xin這個變數或者函數名,沒錯,咱麼也可以用/^xin$來匹配這一行之中只有一個xin單詞的情況。

3.我們可以用.來匹配任何字元,比如x.g可以匹配到xinxing,還可以匹配到xig,還可以匹配到xiig。

4.那麼可能會有人說,如果我想匹配xin.呢?即前三個字元是xin,後一個字元是一個點,那麼我們可以用反斜線來給它轉義,即xin\.來表示xin.這樣。



*****************答讀者問*******************************

1.可能大家讀到這裡,我不知道讀者是什麼感受。

2.不過vim確實對程式員提供了良好的支援,這也是vim和emacs能夠牢牢的吸引程式員的一大魅力之處。

3.辛星vim,期待您的關注。




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.