中),才會被擴展;單詞內部的abbr將不會被擴展.輸入:unababbr就可以從此停止擴展:a" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

學習vi編輯器7(中)

系統 2147 0

保存命令

vi和ex都有許多不同的用來保存長命令序列的方法,當調用這些已保存的序列中某一個時,只需輸入幾個字符(或者甚至一個字符)就會執行整個命令序列

單詞縮寫

定義一些縮寫,無論什么時候在插入模式下輸入縮寫,vi將自動把它擴展為完整的文本,使用ex命令定義縮寫:

:ab abbr phrase

只有在插入模式下把組成縮寫的字符序列作為 完整的單詞輸入(regexp中的\<和\>中) ,才會被擴展;單詞內部的 abbr 將不會被擴展.

輸入 :unab abbr 就可以從此停止擴展

:ab ????列出當前定義的縮寫

在vim中如果遞歸的縮寫,如

:ab GNU GNU's Not Unix

只會擴展一次

使用映射命令

除了是為vi命令模式而不是插入模式定義一個宏外,map命令的行為與ab極為相似

:map x sequence ???? 把字符 x 定義為一系列編輯命令

:unmap x ???????????? 取消為 x 定義的序列

:map???? ????????????列出當前映射的所有字符

防止ex解釋鍵

注意在定義映射時,不能只輸入 RETURN , ESC , BACKSPACE , DELETE 之類的鍵作為映射命令的一部分,因為這些鍵已在ex內有含義了,如果要使用這些鍵作為被映射命令的一部分,需要使用 CTRL-V 來避開它的正常含義,例如

:map CTRL-A d10 CTRL-VRETURN

這種用法適用于 任何ex命令 ,不只是映射命令,在縮寫或者替換命令也適用,例如

:ab 123 one^Mtwo^Mthree????^M就是 CTRL-VRETURN 因為回車就是ASCII碼中的第M個

:g/^Section/s//As you recall, in^M&????在所有以單詞Section開頭的行前面插入一個短語作為獨立行

注意 豎直條( | ) 無法被防止,因為它有作為多個ex命令分隔符的特殊含義

一些映射例子

:map ^A 0i/*^[$a*/^[????為c++加上注釋

:map e ea ????????????移動到單詞的尾部添加文本

:map K dwwp????????????調換兩個單詞位置

:map q :w^M:n^M????????保存當前文件

:map = xf)xn????????????重復搜索并刪除單詞或短語周圍的圓括號

用于插入模式的映射鍵( 僅僅在插入模式下和命令模式下可用,在一般模式下不能使用 )

通常,映射鍵只適用于命令模式,因為在插入模式下各鍵都代表其本身,不應該將其映射為命令.但是,通過在map命令前加上感嘆號(!),就可以強迫它忽略正常含義,從而在插入模式下產生映射,例如:

:map! + ^[kA:^[jA 在插入模式下將+映射成為在上一行末尾插入:再返回該行末尾繼續輸入

也可以取消這個映射:

:unmap! x???? 但是實際上不奏效,我也不知道怎么辦,有方法啦:通過 CTRL+V 轉義它

映射功能鍵( 什么是功能鍵 )

映射其他特殊鍵

許多鍵盤上帶有與vi中的命令功能相同的特殊鍵,如 HOME , END , PAGE UP , PAGE DOWN ,由于這些按鍵也是有本來的意思的,于是跟ESC等按鍵一樣,需要轉義.例如:

:map CTRL-V HOME 1G????就可以將HOME鍵轉義成為到第一排

映射多個輸入鍵

:map =b a</emphasis>^[???? ????將=b映射了,輸入的時候只要連續的輸入=b就可以達到替換的效果

@函數

使用@命令執行某個命名緩沖區的內容,例如

將cwgadfly^[刪除放到g緩沖區(執行"gdd將該行刪除到g緩沖區) .現在無論什么時候只要把光標放在一個單詞的開頭并輸入 @g ,文本中的單詞就將被替換成為gadfly

從ex中執行緩沖區

除了在一般模式中執行緩沖區以外,還可以在ex中,即命令模式中執行緩沖區,方法是相同的,例如在插入模式中輸入:

/cmp并刪除到a緩沖區后,在一般模式中輸入 :@a 過后就可以達到/cmp一樣的結果

學習vi編輯器7(中)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論