亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > CentOS > 正文

vi編輯器使用技巧

2020-06-21 13:18:19
字體:
來源:轉載
供稿:網友

'vi是類Unix操作系統中使用極為廣泛的文本編輯器之一。無論是Unix、Solaris或Linux都默認提供這個工具??梢哉f只要熟悉了vi,在任何一種類Unix的操作系統平臺上都可以自如地進行文本編輯。關于vi的基本用法的資料有很多,本文的目的不是重復這些基本的用法,而是想給初步掌握vi基本用法的人提供一些實用技巧,使之能更快捷、高效地利用vi編輯文件。



vi有命令模式和插入模式之分。vi啟動后就處于命令模式。在命令模式下,可以隨意移動光標、進行復制和粘貼文本等操作。利用“a”、“i”、“c”、“C”、“O”和“o”等命令可以從命令模式切換到插入模式。在插入模式下,可以輸入文本,按Esc鍵切換回命令模式。為了區別不同模式下的命令,本文在介紹時會注明是何種模式下的操作。

另外,本文的所有操作都是在Red Hat 9.0所帶的vim中進行。本文介紹的各種技巧多數在各種vi版本中也都是可行的。

加密和解密

加密和解密文件

在命令模式輸入“:X”命令,接著輸入密碼、確認輸入密碼,最后輸入“:wq”命令保存退出。文件就已經被加密了。

經過上面方法加密后的文件變成密文文件。要閱讀原來的明文,則在打開文件后,會提示用戶輸入密碼。如果密碼輸入正確,就能看到原來的明文。另外可以看到,在最后的狀態行上有此文件已被加密的提示。

取消加密

取消加密的方法很簡單。在命令模式輸入“:X”命令,首先會提示輸入密碼,這時直接敲回車鍵。接下來在提示重復輸入密碼時也直接敲回車鍵,最后輸入“:wq”命令保存退出。這樣文件的加密就被取消了。

注意,以上加密方法是運行在Red Hat Linux 9.0上的vim中。在其它平臺可能略有差異,請以實際平臺或版本的幫助為準。

替換操作

經常用到的一些簡單替換命令有:

◆ s 將當前字符替換為一個或多個字符,例如5 s 表示將從當前字符開始的5個字符替換為一個或多個字符;

◆ S 將當前行替換為一個或多個字符;

◆ r 單個字符替換。

文本格式轉換

將DOS格式文本轉成Unix格式文本,命令如下:

:1,$s/^M//g

其中^M是同時Ctrl+V+M按出來的,表示回車。

在行首尾添加字符串

用下列命令在文本每行的行首添加字符串“NewString”,請注意空格的存在。

:g/^/s//NewString/g :%s/^/NewString/g

用下列命令在每行的行尾添加字符串“NewString”:

:g/$/s//NewString/g :%s/$/NewString/g

從文本的第3行至最后一行的行首全部插入字符串“NewString”:

:3,$s/^/NewString/

在整個文件中替換

在整個文件中替換特定字符串,所用的命令如下:

:%s/old_string/new_string/g

如果僅將文件中的第3行到第7行中的“old_string”替換成“new_string”,那么使用下列命令:

:3,7s/old_string/new_string/

注意,其中“s”為表示替換動作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行尾。

助力編程

語法加亮

在vi中編寫程序,如果為了方便想開啟語法加亮功能,只需在命令模式下輸入“:syntax on”即可。同理可知,如果想關閉語法加亮功能,就在命令模式下輸入“:syntax off”。

快速查看函數幫助

在用vi閱讀和編寫程序(主要是指C或C++程序)時,如果需要了解某個函數的具體功能,可以將光標移到該函數上,然后在命令模式下輸入“K”,就可以調動“Linux Programmer's Manual”中對此函數的man幫助。

標記定位

在閱讀和編寫大的程序文件時,利用標記(書簽)功能定位是十分有幫助的。建議大家多多使用。下面舉個簡單的例子進行說明。

首先打開一個源代碼文件,將光標移到想做標記的位置。假如做一個名為“debug1”的標記,那么用戶可在命令模式下輸入做標記的命令“mdebug1”,然后敲入回車鍵,一個名為“debug1”的標記就做好了。

接下來用戶可以隨意將光標移到其它的位置,當在命令模式下輸入“`debug1”后,就能快速回到“debug1”的標記所在行的行首。

“ctags”命令

在閱讀和編寫C或C++程序時,可用“ctags”命令對當前目錄下的C源程序進行掃描。命令如下:

$ ctags *.c

上面一條命令將為當前目錄下的.c文件生成tags文件,然后使用“ta 函數名”命令來快速打開相應函數所在文件,并將光標定位在對應函數的開頭。

自動對齊

在命令模式下使用“:set ai”命令可以讓程序中各行自動對齊。

顯示匹配

在編程中{}、[]、()常常是成對出現的,而且常常有多層的嵌套,很容易遺漏和失誤。所以下面的這個技巧非常有用。在命令模式下使用“:set sm”命令會在用戶敲)、]、}時顯示出對應匹配的{、[、(來。

縮寫文本

在編程中常常要輸入一些重復且很長的信息,比如較長的名詞和公司信息等,這時可以用vi的縮寫功能。它可以將一個很長的詞用一個很短的縮寫來代替。比如一個較長的URL,可以給它一個縮寫,在命令模式下使用“:ab myurl http://www.mykms.org/kms/myproject/index.php?id=0023”,然后在插入模式下輸入“myurl”后,“myurl”就會自動變成剛才定義的那個長的URL。另外,在插入模式下輸入“:una myurl”,則是取消“myurl”這個縮寫。

set選項

使用“:set”可以設置vi的環境變量。vi的環境變量有很多。使用“:set all”可以顯示所有環境變量。使用“:set 變量名及參數”可以設置對應的環境變量。

下面的命令可顯示行號:

:set number

下面的命令可將文件設為只讀:

:set readonly

下面的命令使vi在“:n”和“:!”命令之前都自動保存文件:

:set autowrite

下面的命令顯示用戶處在什么模式下:

:set showmode

同理,“:set noshowmode”就是關閉此顯示。

vi環境變量還有很多。了解它們,將給用戶使用vi帶來更多方便。用戶可以通過vi的聯機幫助查到對應的環境變量的詳細作用。

使用宏

vi的宏提供了更強大的功能,用戶可以根據自己的需要來定制自己的宏,然后通過宏來完成事先定義好的一整套操作。用“map”來定義一個宏,用“unmap”來刪除。在熟悉了vi的基本命令后,將這些命令組合起來就能完成復雜的工作。如果再將這些命令的組合定義成宏的話,就可以方便用戶經常性地調用了。這是一個非常強大的功能,建議大家多多使用。

總結

vi是類Unix操作系統上常用的缺省編輯器。了解了vi,用戶就能利用它高效地編輯文件。但是學習vi的過程很長,因為它的功能很多。不過它確實是一個值得花時間來學習的工具。所謂“工欲善其事,必先利其器”,希望大家都能學好vi,善用這一文本編輯的利器。
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲精品久久久| 亚洲免费一在线| 色老头一区二区三区| 欧美丝袜第一区| 欧美巨乳在线观看| 国产成人在线精品| 欧美理论在线观看| 欧美日韩国产二区| 欧美性少妇18aaaa视频| 最近中文字幕mv在线一区二区三区四区| 性欧美xxxx视频在线观看| 在线国产精品视频| 神马久久桃色视频| 国产视频精品va久久久久久| 51ⅴ精品国产91久久久久久| 日韩精品www| 亚洲综合在线播放| 亚洲综合在线播放| 亚洲肉体裸体xxxx137| 欧美多人乱p欧美4p久久| 亚洲国产精品高清久久久| 日产精品久久久一区二区福利| 欧美性jizz18性欧美| 成人国产精品日本在线| 91免费版网站入口| 欧美日韩国产一中文字不卡| 亚洲高清不卡av| 欧美另类极品videosbest最新版本| 操日韩av在线电影| 国产精品黄页免费高清在线观看| 亚洲欧美国内爽妇网| 日本精品一区二区三区在线播放视频| 国产亚洲人成a一在线v站| 日韩av在线直播| 久久亚洲精品中文字幕冲田杏梨| 狠狠躁18三区二区一区| 国产不卡一区二区在线播放| 久久精品视频在线| 国产日韩欧美日韩| 国产欧美日韩免费看aⅴ视频| 91精品久久久久久综合乱菊| 欧美日韩福利在线观看| 97精品视频在线播放| 国产精品扒开腿做爽爽爽男男| 高清视频欧美一级| 成人精品视频久久久久| 欧美激情视频给我| 8090成年在线看片午夜| 91精品久久久久久综合乱菊| 亚洲视频欧洲视频| 97精品欧美一区二区三区| 国产成人亚洲综合青青| 97在线观看免费| 欧美成人免费在线观看| 亚洲无限av看| 国产欧美va欧美va香蕉在线| 免费91麻豆精品国产自产在线观看| 黄色成人在线播放| 超碰91人人草人人干| 亚洲免费视频一区二区| 亚洲91精品在线观看| 国产精品国产福利国产秒拍| 97久久精品人搡人人玩| 亚洲一区二区三区四区视频| 亚洲第一精品久久忘忧草社区| 日韩精品在线免费观看视频| 欧美大片欧美激情性色a∨久久| 欧美亚洲国产日本| 欧美成人精品h版在线观看| 伊人久久综合97精品| 国产成人精品一区| 一区二区欧美日韩视频| 国产在线一区二区三区| 久久免费福利视频| 亚洲精品午夜精品| 亚洲一区二区三区香蕉| 欧美精品成人91久久久久久久| 久久这里只有精品视频首页| 欧美日韩在线第一页| 欧美黑人xxxx| 亚洲欧美日本精品| 日韩av第一页| 最近2019中文字幕在线高清| 久久久久久久久久久免费| 欧美激情一区二区三区久久久| 日韩久久免费视频| 国内久久久精品| 国产精品一区二区久久久久| 日本久久中文字幕| 国产亚洲一区二区精品| 欧美日韩在线免费| 日韩在线观看你懂的| 国产精品视频专区| 91视频国产一区| 俺去啦;欧美日韩| 亚洲第一中文字幕| 国产日产亚洲精品| 一区二区亚洲精品国产| 久久久伊人日本| 国产精品亚洲片夜色在线| 亚洲精品电影网站| 日韩av免费看| 久久国产精品影视| 午夜精品久久久久久久男人的天堂| 国产成人精品在线观看| 国产精品wwwwww| 欧美疯狂做受xxxx高潮| 欧美猛男性生活免费| 欧美亚洲国产日本| 久久香蕉频线观| 国产免费一区二区三区在线观看| 18久久久久久| 91欧美日韩一区| 岛国av午夜精品| 亚洲黄色有码视频| 欧洲亚洲妇女av| 国产精品久久久久久久久久久久久| 亚洲日韩中文字幕| 欧美午夜激情小视频| 欧美性猛交xxxx富婆弯腰| 亚洲视频999| 亚洲国产成人爱av在线播放| 久久久久久久久久婷婷| 国内久久久精品| 第一福利永久视频精品| 色偷偷亚洲男人天堂| 不卡伊人av在线播放| 91免费看片网站| 91精品综合视频| 26uuu另类亚洲欧美日本老年| 国产自产女人91一区在线观看| 久久久国产视频91| 亚洲成人999| 91国产中文字幕| 深夜福利91大全| 91久久中文字幕| 国产精品xxx视频| 日韩欧美精品网站| 欧美成人在线网站| 国产在线精品成人一区二区三区| 国产aaa精品| 欧美亚洲第一区| 午夜精品久久久99热福利| 亚洲欧美国产制服动漫| 在线视频国产日韩| 色噜噜狠狠狠综合曰曰曰88av| 欧美日韩国产综合视频在线观看中文| 在线观看不卡av| 久久久成人精品| 久久av红桃一区二区小说| 久久综合色影院| 最新91在线视频| 久久久久久久久久国产| 国产午夜精品免费一区二区三区| 中文字幕亚洲一区| 国产视频在线观看一区二区| 欧美野外wwwxxx| xvideos亚洲人网站| 国产精品一区二区三区免费视频| 日韩高清电影好看的电视剧电影| 亚洲理论在线a中文字幕| 欧美日韩综合视频| 欧美激情精品在线| 亚洲精品xxx|