三区在线视频_99免费观看_2021国产成人午夜精品_亚洲国产一区二区三区精品

蒙狼科技logo
設為首頁| 聯系我們
咨詢熱線: 13917498722
  您的位置: 首頁 > 網站資訊 > 10個你必須掌握的超酷VI飭令技巧

10個你必須掌握的超酷VI飭令技巧

發布日期:2017/4/17

百度權重查詢 詞庫網 網站監控 服務器監控 seo監控 手機游戲 iPhone游戲

大部分Linux開發者對vi飭令相當熟悉,可是遺憾的是,大部分開發者都只能掌握一些好常用的Linux vi飭令,下面介紹的10個vi飭令雖然許多不為人知,但是在現實應用中又能讓你大大提高效率。

在使用vi 編輯器時—無論是初次使用的用戶,照舊有經驗的用戶—大多數人往往只掌握核心飭令集,這些飭令可以執行好常用的功能:導航或保存文件;插入、更新、刪除或搜索數據;退出但不保存修改。

但是,vi 編輯器極其壯大,特征和功能特別很是雄厚。即使在多年使用vi 之后,您仍然可能會發現有不知道的新飭令。本文討論的飭令就屬于不太為人所知的飭令,但是它們可以簡化您目前采用的操作方法,讓您的工作體例更高效,或者讓您能夠完成原來不知道可以用vi 完成的操作。

打開和關閉行號

vi 編輯器的許多選項可以控制編輯會話的外觀和感覺。使用 :set 飭令修改vi 中的會話設置。按 Escape 鍵進入飭令模式之后,可以使用 :set all 飭令顯示選項和設置的列表。可以設置的選項之一是 number,它的作用是打開和關閉行號

#

# Internet host table

#

::1 localhost

127.0.0.1 localhost loghost

192.168.0.6 centos5

192.168.0.10 appserv

192.168.0.11 webserv

192.168.0.12 test

192.168.0.5 solaris10 # Added by DHCP

~

~

~

:set number

這個vi飭令 在當前編輯的文件中的每個記錄上顯示行號。讓vi 進入飭令模式之后,可以輸入 :set number 并按回車來打開行號

#

# Internet host table

#

::1 localhost

127.0.0.1 localhost loghost

192.168.0.6 centos5

192.168.0.10 appserv

192.168.0.11 webserv

192.168.0.12 test

192.168.0.5 solaris10 # Added by DHCP

可以使用 :set nonumber 飭令關閉行號。還可以使用這個飭令和 :set number 飭令的簡寫,即 :set nu 和 :set nonu。假如需要快速計算要用vi 函數處理的行數,顯示行號會特別很是有幫助。當行數許多,可能跨多個屏幕時,行號尤其有效。另外,有時候您知道要處理的行范圍,但是需要查明要在vi 飭令中使用的初始和結束行號。假如希望每次進入vi 會話時都顯示行號,那么在主目錄中的.exrc 文件中添加 set number 行。

主動縮進

在用某些編程語言編寫代碼時,縮進是樣式的主要部分,可以確保代碼的可讀性更好。假如需要,可以在vi 編輯器中根據編程語言的樣式設置主動縮進。使用 autoindent 打開或關閉主動縮進.

#!/bin/ksh

#

#

for file in /etc/*

do

if [[ -f ${file} ]] ; then

echo “${file} is a file”

~

~

~

~

~

:set autoindent

在此之后,假如在一行的開頭輸入空格或制表符,那么后續的新行將會縮進到相同的位置。在飭令模式下,輸入 :set autoindent,然后按回車打開主動縮進。通過設置 shiftwidth 確定縮進級別。例如,:set shiftwidth=4 把每級縮進設置為四個空格。

#!/bin/ksh

#

#

for file in /etc/*

do

if [[ -f ${file} ]] ; then

echo “${file} is a file”

elif [[ -d ${file} ]] ; then

echo “${file} is a directory”

fi

done

~

~

:set shiftwidth=4

在飭令模式下,可以使用>> 飭令讓現有的一行增添一級縮進,使用<< 飭令削減一級縮進。在這些飭令前面加上一個整數,即可讓多行增添或削減一級縮進。例如,把游標放在清單 4 中第 6 行的開頭,進入飭令模式之后,輸入 5>> 就會讓下面五行增添一級縮進。

#!/bin/ksh

#

#

for file in /etc/*

do

if [[ -f ${file} ]] ; then

echo “${file} is a file”

elif [[ -d ${file} ]] ; then

echo “${file} is a directory”

fi

done

~

~

可以使用 :set noautoindent 飭令關閉主動縮進。還可以使用這個飭令和 autoindent 飭令的簡寫,即 :set ai 和 :set noai。還可以使用 :set ai sw=4 在一個飭令中打開縮進并設置縮進級別。假如希望每次啟動vi 會話時都啟用主動縮進并把縮進級別設置為四個空格,那么在主目錄中的.exrc 文件中添加 set ai sw=4 行。

在搜索時不區分大小寫

如您所知,在 UNIX®中執行搜索時,模式匹配是區分大小寫的。但是,假如希望vi 不區分大小寫,那么可以使用 :set ignorecase 飭令。使用 :set noignorecase 恢復區分大小寫。還可以使用簡寫(:set ic 和 :set noic)。假如希望每次進入vi 會話時都啟用不區分大小寫的搜索,那么在主目錄中的.exrc 文件中添加 set ignorecase 行。

復合搜索

在vi 中,可以使用/飭令搜索字符串,這需要以字面字符串或正則表達式的形式指定要匹配的模式。例如,要想在文件中搜索單詞 echo,只需進入飭令模式,輸入/echo,然后按回車。這個飭令會找到清單 6 所示文件的第 3 行的個單詞。

#!/bin/ksh

#

echo “Starting”

file=${1}

echo ${file}

if [[ ${file} = 1 ]] ; then

((file=${file}+1))

echo “Adding one gives ” \

${file}

fi

echo “Ending”

exit

可以使用簡單的正則表達式指定尋找包含某一單詞而且后面有另一個單詞的行。例如,要想尋找包含字符串 echo、后面有零個或更多字符、之后是字符串 file 的行,應該使用/echo.*file。在清單 6 所示的文件中,這個飭令會找到第 6 行的個單詞。

但是,只有這兩個字符串出現在統一行上,這個飭令才認為是匹配的。假如希望搜索出現在另一個模式或字符串后面的某個模式或字符串,不管這兩個模式或字符串是否在統一行上,那么可以指定由分號(;)分隔的兩個搜索飭令,從而執行復合搜索。例如,要想搜索出現在字符串{file}+1 后面的字符串 echo,應該使用/{file}+1/;/echo/。在清單 6 所示的文件中,這個飭令會找到第 10 行的個單詞。復合搜索對于尋找代碼中出現在另一個飭令后面的某個飭令尤其有效—例如,在設置某個變量之后調用函數的地方。

重放搜索模式

當在文件中搜索要替代的模式時,可以讓vi 把要匹配的任何模式保存在緩沖區中;然后,在執行替代時,可以用緩沖區引用號重放它們。方法是把模式放在 \(和 \)之間,這會指示vi 把模式放在編號的緩沖區(1 到 9)中。在執行替代時,可以用緩沖區引用號 \1 到 \9 引用這些緩沖區。

例如,假設要在清單 7 所示的文件中搜索以單詞 Martin 開頭的行并對每個匹配添加前綴 Mr 和后綴 Wicks,那么進入飭令模式,輸入vi 飭令 :%s/^\(Martin\)/Mr \1 Wicks/g,然后按回車。

Martin is an IT consultant. Martin likes

snowboarding and mountain biking. Martin has

worked on UNIX systems for over 15 years. Martin also

worked for many years before that on mainframes.

Martin lives in London.

~

~

~

~

:%s/^\(Martin\)/Mr \1 Wicks/g

下面把這個飭令分解開詮釋一下:

:%s —指示vi 執行替代。

/—模式分隔符。

^\(Martin\)—尋找以字符串 Martin 開頭的行并把這個字符串保存在緩沖區 1 中。

/—模式分隔符。

Mr \1 Wicks —把找到的字符串替代為字符串 Mr,加上緩沖區 1 中的內容,再加上字符串 Wicks。

/—模式分隔符。

g —全局修改(即修改所有匹配的地方)

在搜索和替代字符串中都可以使用緩沖區引用。

Mr Martin Wicks is an IT consultant. Martin likes

snowboarding and mountain biking. Martin has

worked on UNIX systems for over 15 years. Martin also

worked for many years before that on mainframes.

Mr Martin Wicks lives in London.

~

~

~

~

:%s/^\(Martin\)/Mr \1 Wicks/g

書簽

可以讓vi 在文件中的特定位置放上書簽。方法是按 Escape 鍵,再按 M 鍵,然后輸入另一個透露表現書簽引用的字母表字符。因此,好多可以有 26 個書簽,分別名為 a 到z。要返回到上一書簽,按 Escape 鍵,再按反撇號(`),然后輸入書簽引用字符。

例如,按 Escape 之后按 M 和 A 鍵,就會把當前游標位置保存在書簽 a 中。在編輯會話中,以后希望返回到這個游標位置時,只需按 Escape,然后輸入 `A。可以使用雙反撇號(“)飭令在當前書簽和前一個書簽之間切換。

查找、更新、查找下一個、重復

在vi 編輯器中,好有效的搜索/替代特征之一是查找與某個模式匹配的字符串,更新它,然后繼續搜索下一個匹配的字符串,然后選擇是否以相同體例更新它。這與 Microsoft® Word 中的查找下一個/替代功能很相似。您可能已經知道可以在vi 中搜索字符串模式,方法是進入飭令模式,輸入/search_pattern(其中的 search_pattern 是字符串或正則表達式),然后按回車。這樣做就會找到與指定的模式匹配的個字符串。在此之后,可以在找到的文本上執行任何操作。例如,按 Escape,再按 C 和 W 鍵,再輸入更多文本,就會把找到的字符串替代為另一個單詞。

要想快速地找到與模式匹配的下一個地方,應該按 Escape,然后按 N 鍵。在找到下一個匹配時,可以使用點號鍵(.)在這個位置重復好近的文本操作,比如前一個示例中使用的修改單詞(cw)操作。然后,可以使用這些鍵繼續尋找其他匹配(n)并選擇重復文本操作(.),操作體例與使用 Word 中的查找下一個/替代功能很相似。

切換大小寫

在vi 中,可以切換游標下的字母字符的大小寫,方法是按 Escape,然后按波浪號鍵(~)。這會在小寫和大寫之間往返切換。按著這個鍵,移動游標經過行中的每個字符,就會切換碰到的每個字母字符的大小寫。可以在波浪號前面輸入一個數字,透露表現希望改變多少個字母字符的大小寫。

篩選

您可能知道,在vi 中按 Escape,輸入 :!command(其中的 command 是要執行的 UNIX 飭令),然后按回車,就可以在 shell 中執行飭令。例如,:!pwd 顯示編輯會話當前的工作目錄。

但是,還可以把文件的一部分作為標準輸入發送給 UNIX 飭令,并用產生的輸出替代編輯緩沖區中的相同部分。例如,假如希望在vi 會話內對清單 9 所示的整個文件進行排序,可以按 Escape,輸入 :1,$!sort 并按回車,這讓vi 把從行到文件末尾($)的所有內容傳遞給 sort 飭令,用輸出替代指定的部分。

另外,還可以在 shell 飭令前面加上從當前游標位置開始希望操作的行數。方法是按 Escape,然后輸入指定行數的數字,然后輸入兩個驚嘆號(!!),好后輸入 UNIX 飭令。

可以使用管道分隔符(|)把 UNIX 飭令連接在一路,從而在vi 會話中執行復雜壯大的篩選。例如,假設要把當前vi 會話的編輯緩沖區中的文件內容替代為每行的個空格分隔的字段,按升序排序并轉換為大寫,那么在按 Escape 之后輸入:

:1,$!awk ‘{print $1}’ | sort | tr [:lower:] [:upper:]

保存部分內容

可以保存當前編輯的文件的部分內容,方法是按 Escape,然后輸入 :start,endw file,其中的 start 是當前文件中要保存的行,end 是要保存的好后一行,w透露表現希望寫到另一個文件中(或者覆蓋現有的文件),file 是指定的部分要保存到的文件。對于好后一行,可以使用$透露表現文件的末尾。可以在w后面使用兩個大于號(>>)透露表現希望把內容附加到文件中而不是覆蓋文件。清單 12 中的示例把第 6 到第 9 行(含)附加到文件/tmp/newfile 中。

#

# Internet host table

#

::1 localhost

127.0.0.1 localhost loghost

192.168.0.6 centos5

192.168.0.10 appserv

192.168.0.11 webserv

192.168.0.12 test

192.168.0.5 solaris10 # Added by DHCP

~

~

~

:6,9w >> /tmp/newfile

結束語

vi 編輯器是一個極其壯大的工具,本文提供了一些技巧和訣竅,希望能夠幫助您更高效地編輯文件。請記住,vi 還有更多不太為人所知的特征。祝工作興奮!





其他相關文章
  • SMO社會化媒體營銷與優化
  • Make飭令教程
  • SEO入門知識之關鍵詞的密度和分布
  • 網站圖片格式使用了解事項
  • 網站設計的指導思想
  • 產品與人性的思考




  • 企業網站后臺使用
    購物網站后臺使用
    網站產品圖片的處理



    農業銀行支付
    建設銀行支付
    郵政儲蓄銀行支付



    企業網站建設
    整站建設
    購物網站



    企業網站建設建議
    注冊適合自己的域名
    什么是虛擬主機




    售前咨詢QQ: 838821345
    售后服務QQ: 464698733
    應急手機:13917498722


    微信掃一掃
    添加24小時微信客服


    郵箱:lang@MENGL.CN
    地址:上海寶山區城銀路555弄2號樓3樓
    ICP備案:滬ICP備12042844號-3
     滬公網安備:31011402002917號
    做網站 | 企業網站建設 | 上海做網站 | 企業網站制作 | 做網站的公司 | 關于蒙狼 | 整站建設 | 購物網站 | 企業網絡營銷 | 成功案例 | 加盟代理 | 在線訂單
    服務區域: 臨港新區做網站 徐匯做網站 閔行做網站 長寧做網站 虹口做網站 黃浦做網站 盧灣做網站 靜安做網站 浦東做網站 楊浦做網站 普陀做網站 閘北做網站 寶山做網站 嘉定做網站 松江做網站 昆山做網站
    Copyright 2012-2025 上海蒙狼網絡科技有限公司 www.chaojifanwen.com All Rights Reserved
    三区在线视频_99免费观看_2021国产成人午夜精品_亚洲国产一区二区三区精品

            成人免费av网站| 婷婷久久综合九色国产成人 | 丁香六月久久综合狠狠色| 麻豆高清免费国产一区| 日韩av电影天堂| 图片区小说区国产精品视频| 亚洲一区二区三区四区的 | 免费在线观看视频一区| 日韩不卡手机在线v区| 五月激情综合色| 蜜臀av一区二区三区| 日日夜夜免费精品| 免费成人av在线播放| 精品一区二区在线看| 国产精品自拍av| 99久久免费视频.com| 色一情一乱一乱一91av| 欧美丝袜丝交足nylons图片| 欧美高清视频在线高清观看mv色露露十八 | 国产三区在线成人av| 国产精品女主播av| 亚洲一区二区在线播放相泽 | 午夜私人影院久久久久| 免费精品视频在线| 国产在线播放一区三区四| 成人av午夜影院| 欧美军同video69gay| 久久综合色婷婷| 亚洲欧美视频在线观看| 日韩中文字幕麻豆| 懂色一区二区三区免费观看| 欧洲精品视频在线观看| 亚洲国产日韩精品| 国产精品资源网站| 一本久久综合亚洲鲁鲁五月天 | 免费不卡在线视频| 99久久久久免费精品国产 | 国产精品网站一区| 日本伊人色综合网| a美女胸又www黄视频久久| 欧美日韩国产首页| 久久精品在这里| 亚洲不卡在线观看| 成人av网在线| 精品人在线二区三区| 亚洲欧美偷拍卡通变态| 国产一区二区三区免费| 欧美日韩一区不卡| 中文字幕在线观看一区二区| 捆绑紧缚一区二区三区视频| 色婷婷综合久久久中文字幕| 久久久久久免费毛片精品| 亚洲.国产.中文慕字在线| 北条麻妃国产九九精品视频| 欧美大片在线观看| 日韩主播视频在线| 日本精品裸体写真集在线观看 | 亚洲一区视频在线| 99久久免费国产| 国产亚洲美州欧州综合国| 午夜激情一区二区| 在线观看一区二区精品视频| 国产午夜精品理论片a级大结局| 日韩电影在线观看电影| 日本久久精品电影| 日韩久久一区二区| eeuss国产一区二区三区| 久久精品综合网| 国产专区综合网| 日韩午夜在线观看| 五月婷婷综合激情| 欧美日韩免费电影| 亚洲国产aⅴ天堂久久| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 精品视频在线免费| 亚洲欧洲制服丝袜| 国产亚洲美州欧州综合国| 美腿丝袜在线亚洲一区| 日韩三级精品电影久久久 | 亚洲国产精品精华液网站| 欧美视频中文字幕| 亚洲国产精品久久人人爱蜜臀 | 久久精品亚洲精品国产欧美| 国产一区二区三区四区五区美女| 欧美精品1区2区3区| 日韩国产精品91| 欧美va亚洲va香蕉在线| 久久99久久久久久久久久久| 欧美一区二区三区白人| 日韩综合小视频| 欧美日本一区二区三区| 日产精品久久久久久久性色| 91精品国产日韩91久久久久久| 奇米精品一区二区三区在线观看 | 精品视频一区二区三区免费| 亚洲国产精品天堂| 91精品视频网| 紧缚捆绑精品一区二区| 欧美激情一区在线观看| 色婷婷综合久久久中文一区二区| 一个色综合av| 欧美va亚洲va在线观看蝴蝶网| 国产在线视频一区二区三区| 国产精品美女久久久久久2018 | 欧美不卡一区二区三区四区| 狠狠色丁香久久婷婷综| 中文av一区二区| 欧美性生活影院| 久久99精品久久久| 中文字幕乱码久久午夜不卡| 在线视频国内自拍亚洲视频| 美女任你摸久久| 国产一区激情在线| 亚洲免费在线观看视频| 欧美丰满少妇xxxxx高潮对白| 国产一区 二区| 亚洲最大成人网4388xx| 久久色成人在线| 91黄色免费网站| 韩国av一区二区三区在线观看| 中文字幕一区二区三| 欧美一区欧美二区| 99久久精品情趣| 激情图区综合网| 亚洲成av人片一区二区| 日本一区二区三区四区| 91精品国产综合久久福利软件| 成人午夜激情片| 蜜臀va亚洲va欧美va天堂| 亚洲色图欧洲色图| 久久久亚洲午夜电影| 欧美美女网站色| 不卡的av网站| 国产麻豆视频一区二区| 丝袜美腿亚洲一区| 亚洲欧洲综合另类| 久久久一区二区| 欧美一区二区三区免费大片| 91美女在线观看| 粉嫩aⅴ一区二区三区四区| 美腿丝袜一区二区三区| 玉米视频成人免费看| 亚洲国产精品99久久久久久久久| 欧美一级视频精品观看| 欧美日韩国产片| 91久久精品一区二区| 99在线热播精品免费| 国产馆精品极品| 国产在线不卡视频| 美腿丝袜一区二区三区| 亚洲v日本v欧美v久久精品| 国产精品国产自产拍在线| 久久久久久久久久久99999| 欧美成va人片在线观看| 欧美日韩高清在线播放| 欧美性生交片4| 欧美在线观看视频一区二区 | 91精品在线一区二区| 欧美日韩国产综合视频在线观看| 色综合久久久久综合体 | 91麻豆精品国产| 欧美妇女性影城| 欧美另类高清zo欧美| 色悠久久久久综合欧美99| 国产 欧美在线| 懂色av一区二区三区免费观看 | 一区二区三区产品免费精品久久75| 精品免费国产一区二区三区四区| 91精品国产欧美一区二区18| 欧美精品日日鲁夜夜添| 欧美男女性生活在线直播观看| 欧美在线一区二区三区| 在线视频你懂得一区| 欧美日韩在线免费视频| 欧美在线观看视频一区二区| 欧美视频一区二区三区四区| 欧美日韩精品一区二区三区 | 亚洲 欧美综合在线网络| 日韩电影一区二区三区四区| 蜜桃传媒麻豆第一区在线观看| 日韩电影在线一区二区三区| 蜜桃视频在线一区| 麻豆freexxxx性91精品| 国产精品69毛片高清亚洲| 懂色一区二区三区免费观看| 91美女视频网站| 69久久夜色精品国产69蝌蚪网| 欧美电影免费观看完整版| 亚洲国产精品t66y| 亚洲精品欧美在线| 日本人妖一区二区| 国产九色sp调教91| 91麻豆国产精品久久| 欧美三级日韩在线| 国产日韩欧美电影| 亚洲一区二区三区视频在线播放| 日韩国产精品久久久久久亚洲| 韩国理伦片一区二区三区在线播放| 国产91丝袜在线播放九色| 在线观看一区不卡|