日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

实用技巧:Linux操作系统Vim/Vi编程提速

發(fā)布時(shí)間:2024/9/3 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实用技巧:Linux操作系统Vim/Vi编程提速 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

值得一提的是Vim是慈善軟件(CharityWare),如有贊助或評(píng)比得獎(jiǎng),所得將全部救助烏干達(dá)孤兒,軟件使用是免費(fèi)的,歡迎手頭有點(diǎn)閑錢的使用者捐款贊助,如果沒銀子也沒關(guān)系,至少當(dāng)有評(píng)比活動(dòng)時(shí)(有獎(jiǎng)金可拿的那種)。

◆應(yīng)用技巧一:快速注釋

1、連續(xù)行注釋

使用Vim/Vi編輯shell腳本,在進(jìn)行調(diào)試的時(shí)候,需要進(jìn)行多行的注釋,每次都要先切換到插入模式,在行首輸入注釋符“#”,再退回命令模式,非常麻煩。其實(shí)如果要注釋連續(xù)行,可在命令模式下執(zhí)行,格式如下:

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

如需注釋第1行到第20行,可以執(zhí)行:

:1,20s/^/#/g

其中“^”表示在行首插入,“#”為要插入的字符,“g”表示執(zhí)行替換時(shí)不確認(rèn),若希望每行交互詢問是否執(zhí)行,可將“g”改為“c”。

如果編輯PHP腳本,注釋要稍微麻煩一點(diǎn),如也要注釋第1行到第20行,要執(zhí)行:

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

PHP的注釋符“//”要特殊處理,因?yàn)閂im/Vi替換命令格式中默認(rèn)“/”為分隔符,這樣就需要使用轉(zhuǎn)義符“\”,表示“/”就要寫成“\/”才可以,所以命令如上所示。強(qiáng)烈建議各位看官使用,省時(shí)省力省鍵盤還省手指頭。

2、非連續(xù)行注釋

如果注釋非連續(xù)的多行,可以定義快捷鍵簡化,格式為:

:map 快捷鍵 執(zhí)行命令

如定義快捷鍵Ctrl+P為在當(dāng)前行行首添加“#”注釋,可以執(zhí)行:

:map ^P I//

“^P”為定義快捷鍵Ctrl+P,要注意的是必須同時(shí)按“Ctrl+v+p”按出此“^P”方才有效,或先按“Ctrl+v”再按“Ctrl+p”也可以;“I//”就是此快捷鍵要觸發(fā)的動(dòng)作,“I”為在光標(biāo)所在行行首插入,“//”為要輸入的字符,“”表示退回命令模式,“”要逐個(gè)字符鍵入,不可直接按鍵盤的“Esc”鍵。執(zhí)行成功后,直接在任意需要注釋的行上按“Ctrl+P”就自動(dòng)會(huì)在行首加上“//”號(hào)了非常方便。

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

:unmap ^P

我寫程序或文檔喜歡在末尾注釋中寫上自己的郵箱,每次錄入十分麻煩,索性定義了一個(gè)快捷鍵,如下:

:map ^M?isam_helen@vip.163.com

以后寫完內(nèi)容后,直接在注釋中Ctrl+M就錄入了俺的郵箱了。

◆應(yīng)用技巧二:亂七八糟的技巧

1、傳說中的命令“ab”

命令“ab”,同樣可以解決上述輸入郵箱的問題,因?yàn)槲以赩im/Vi中定義了太多快捷鍵,如輸入電子郵箱的、輸入通信地址的、輸入聯(lián)系電話的、輸入求偶標(biāo)準(zhǔn)的、輸入PHPChina管理員三圍的……后來自己都記不住了。之后一天深夜電閃雷鳴,我突然發(fā)現(xiàn)了這條命令——“ab”,蒼天啊大地啊,我終于找到解決問題的方法了!oh yeah!

原來輸入經(jīng)常用的信息可以如此簡單,LOOK——

:ab 替代符 原始信息

示例如下:

:ab sammail?sam_helen@vip.163.com

執(zhí)行之后,在輸入模式任何地方錄入“sammail”,再敲任意字母符號(hào)或者回車空格,咔嚓一下,利馬就變成“sam_helen@vip.163.com”,那真是相當(dāng)?shù)姆奖惆?#xff01;

2、原來可以雙劍合一

在Vim/Vi中有兩個(gè)小技巧:

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

有時(shí)編寫一些系統(tǒng)腳本,需要了解系統(tǒng)信息,很多同學(xué)就退出Vim/Vi然后執(zhí)行命令,獲得信息后再進(jìn)行編輯。其實(shí)大可不必,如想獲得/tmp目錄下內(nèi)容,只需在Vim/Vi命令模式下直接執(zhí)行:

:!ls /etc

查看完命令結(jié)果,直接回車,就可以繼續(xù)編輯非常方便。

在Vim/Vi中執(zhí)行命令,格式就是這么簡單:

:!命令

No.2 可以直接將其他文件內(nèi)容導(dǎo)入當(dāng)前編輯文件中

格式:

:r 文件名

如,需要導(dǎo)入文件/etc/issue的內(nèi)容,執(zhí)行:

:r /etc/issue

兩個(gè)非常非常easy的小伎倆,就在一個(gè)我非常郁悶的下午,狂敲鍵盤時(shí)一不小心沒留神發(fā)現(xiàn)了這樣一個(gè)小秘密——原來它們可以結(jié)合起來用!

先舉個(gè)例子,很多程序員喜歡寫完程序后在注釋中寫入當(dāng)前時(shí)間,我有個(gè)好辦法即省事又快速還準(zhǔn)確,只需要在命令模式下執(zhí)行:

:r !date

當(dāng)前時(shí)間就自動(dòng)被導(dǎo)入了,任何命令的結(jié)果導(dǎo)入到當(dāng)前編輯文件中,格式為:

:r !命令

3、助力編程的查詢功能

以前在Linux系統(tǒng)下寫一些C語言程序,有時(shí)記性不好,忘記了語法格式,使用Vim/Vi編寫時(shí)可直接查詢。如寫程序?qū)懙絝ork時(shí),突然失憶了(失去了對(duì)這個(gè)東東的記憶),就可以直接把光標(biāo)移動(dòng)到fork上,按“K”(大寫的K),直接就會(huì)跳到Linux程序員手冊(cè),看到fork的幫助,看完后回車?yán)^續(xù)編寫。

4、配置文件.vimrc

前面提到的快捷鍵、ab命令等的應(yīng)用,設(shè)置后只在當(dāng)前編輯文件中有效,如果想讓它永久生效需要編輯用戶宿主目錄下的.vimrc文件,如你是root用戶,則編輯/root/.vimrc(此文件默認(rèn)不存在)。

寫入你常用的設(shè)置命令即可,如:

:set nu

:map ^M?isam_helen@vip.163.com

:ab sammail?limingkillyou@163.com

……

以后就永久生效了。

總結(jié)

以上是生活随笔為你收集整理的实用技巧:Linux操作系统Vim/Vi编程提速的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。