vim的小技巧

來源:互聯網
上載者:User

Vim/Vi一直是UNIX/Linux系統上最流行的文字編輯器,從2001年接觸UNIX至今,Vim/Vi始終是我修改系統檔案、編寫簡單程式的首選編輯器,是居家旅行必備之工具。如何提升它的編寫速度,本文著重介紹了一些使用技巧供大家參考。

應用技巧一:快速注釋

1、連續行注釋

使用Vim/Vi編輯shell指令碼,在進行調試的時候,需要進行多行的注釋,每次都要先切換到插入模式,在行首輸入注釋符“#”,再退回命令模式,非常麻煩。其實如果要注釋連續行,可在命令模式下執行,格式如下:

:起始行,終止行s/要替換字元/替換為新字元/g

如需注釋第1行到第20行,可以執行:

:1,20s/^/#/g

其中“^”表示在行首插入,“#”為要插入的字元,“g”表示執行替換時不確認,若希望每行互動詢問是否執行,可將“g”改為“c”。

如果編輯PHP指令碼,注釋要稍微麻煩一點,如也要注釋第1行到第20行,要執行:

:1,20s/^/\/\//g

PHP的注釋符“//”要特殊處理,因為Vim/Vi替換命令格式中預設“/”為分隔字元,這樣就需要使用轉義符“\”,表示“/”就要寫成“\/”才可以,所以命令如上所示。

強烈建議各位看官使用,省時省力省鍵盤還省手指頭。

2、非連續行注釋

如果注釋非連續的多行,可以定義快速鍵簡化,格式為:

:map
快速鍵執行命令

如定義快速鍵Ctrl+P為在當前行行首添加“#”注釋,可以執行:

:map ^P I//<Esc>

“^P”為定義快速鍵Ctrl+P,要注意的是必須同時按“Ctrl+v+p”按出此“^P”方才有效,或先按“Ctrl+v”再按“Ctrl+p”也可以;“I//<Esc>”就是此快速鍵要觸發的動作,“I”為在游標所在行行首插入,“//”為要輸入的字元,“<Esc>”表示退回命令模式,“<Esc>”要逐個字元鍵入,不可直接按鍵盤的“Esc”鍵。執行成功後,直接在任意需要注釋的行上按“Ctrl+P”就自動會在行首加上“//”號了非常方便。

如果要取消此快速鍵,只需輸入命令:

:unmap ^P

我寫程式或文檔喜歡在末章節附註釋中寫上自己的郵箱,每次錄入十分麻煩,索性定義了一個快速鍵,如下:

:map ^M isam_helen@vip.163.com<Esc>

以後寫完內容後,直接在注釋中Ctrl+M就錄入了俺的郵箱了(此處嚴重暴露了作者郵箱,主要期待各位看此文章的MM多多聯絡,對燈禱告主編大人不要刪除)。

應用技巧二:亂七八糟的技巧

1、
傳說中的命令“ab”

命令“ab”,同樣可以解決上述輸入郵箱的問題,因為我在Vim/Vi中定義了太多快速鍵,如輸入電子郵箱的、輸入通訊地址的、輸入聯絡電話的、輸入求偶標準的、輸入PHPChina管理員三圍的……後來自己都記不住了。之後一天深夜電閃雷鳴,我突然發現了這條命令——“ab”,蒼天啊大地啊,我終於找到解決問題的方法了!oh
yeah!

原來輸入經常用的資訊可以如此簡單,LOOK——

:ab
替代符原始資訊

樣本如下:

:ab sammail sam_helen@vip.163.com

執行之後,在輸入模式任何地方錄入“sammail”,再敲任意字母符號或者斷行符號空格,哢嚓一下,利馬就變成“sam_helen@vip.163.com”,那真是相當的方便啊!(原諒我此處再次暴露郵箱,聲明一下,男“同志”就不要發郵件給我了,在下不好這個,謝謝)

2、
原來可以雙劍合一

在Vim/Vi中有兩個小技巧:

No.1
可以直接在Vim/Vi中執行UNIX/Linux命令不需退出Vim/Vi

有時編寫一些系統指令碼,需要瞭解系統資訊,很多同學就退出Vim/Vi然後執行命令,獲得資訊後再進行編輯。其實大可不必,如想獲得/tmp目錄下內容,只需在Vim/Vi命令模式下直接執行:

:!ls /etc

查看完命令結果,直接斷行符號,就可以繼續編輯非常方便。

在Vim/Vi中執行命令,格式就是這麼簡單:

:!命令

No.2
可以直接將其他檔案內容匯入當前編輯檔案中

格式:

:r
檔案名稱

如,需要匯入檔案/etc/issue的內容,執行:

:r /etc/issue

兩個非常非常easy的小伎倆,就在一個我非常鬱悶的下午,狂敲鍵盤時一不小心沒留神發現了這樣一個小秘密——原來它們可以結合起來用!

先舉個例子,很多程式員喜歡寫完程式後在注釋中寫入目前時間,我有個好辦法即省事又快速還準確,只需要在命令模式下執行:

:r !date

目前時間就自動被匯入了,任何命令的結果匯入到當前編輯檔案中,格式為:

:r !命令

3、
助力編程的查詢功能

以前在Linux系統下寫一些C語言程式,有時記性不好,忘記了文法格式,使用Vim/Vi編寫時可直接查詢。如寫程式寫到fork時,突然失憶了(失去了對這個東東的記憶),就可以直接把游標移動到fork上,按“K”(大寫的K),直接就會跳到Linux程式員手冊,看到fork的協助,看完後斷行符號繼續編寫,爽啊——

4、設定檔.vimrc

前面提到的快速鍵、ab命令等的應用,設定後只在當前編輯檔案中有效,如果想讓它永久生效需要編輯使用者宿主目錄下的.vimrc檔案,如你是root使用者,則編輯/root/.vimrc(此檔案預設不存在)。

寫入你常用的設定命令即可,如:

:set nu

:map ^M isam_helen@vip.163.com<Esc>

:ab sammail limingkillyou@163.com

……

以後就永久生效了!

轉自:http://hi.baidu.com/mgqw/blog/item/1f1e5739a53c9df53b87ce74.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.