字體:  

Solaris 10 系統下 vi 的使用方法

ppstream 發表於: 2013-1-13 00:17 來源: ADJ網路控股集團


vi介紹(可考慮安裝vim 使用起來更方便)
vi編輯器是一個用於創建和修改文本文件的交互式編輯器。使用vi編輯器時所有的文本編輯都放在一個緩衝區中,可以把所作的修改寫到磁盤也可以放棄所做的修改。

對於那些有志於成為系統管理員的人而言,掌握如何使用vi編輯器是非常重要的。你必須知道如何使用vi編輯器,特別是在窗口環境不可用的時候。

Vi編輯器的工作模式
Vi編輯器是一個命令行編輯器,有三種基本的操作模式:
命令模式
文本輸入模式(編輯模式)
最後行模式
命令模式:vi的默認模式,在命令模式下,你可以鍵入命令來刪除、更改、移動文本;定位光標;搜索文本字符串、退出vi編輯器。
文本輸入模式(編輯模式):在編輯模式下,你可以往文件中輸入文本。要使vi編輯器進入編輯模式下,可以採用以下三種不同的命令:

i插入
o打開
a 添加
最後行模式:當處於命令模式下時,通過鍵入:你可以執行更先進的編輯命令,鍵入:後,將使你處於屏幕的最後一行,這就稱為最後行模式。然而,所有的命令都是由命令模式發起的。
模式間的切換
通過鍵入I、o、a命令,vi編輯器將離開默認的命令模式,進入編輯模式。
在編輯模式下,你所鍵入的所有文本都不會被翻譯成命令,這時,所有鍵入的文本都會被保存到文件中。
當你完成了文本的輸入後,按Esc鍵vi將回到命令模式下,一旦回到命令模式,你可以保存文件,退出vi編輯器,例如:

1、鍵入vi filename來創建一個文件;
2、鍵入I命令來插入文本;
3、按Esc鍵回到命令模式;
4、鍵入:wq來保存到文件,退出vi編輯器。
調用vi編輯器
要創建一個新文件,調用帶新文件名稱的vi編輯器。也可以鍵入命令來創建、編輯、查看一個文件。
命令格式

vi options filename
view filename

輸入命令
要插入或者添加文本,使用下面的選項:
命令含義

a 在光標右側輸入文本
A 在光標所在行的末尾輸入文本
I在光標左側輸入文本
I 在光標所在行的開頭輸入文本
O在光標所在行的下一行開始新行
O在光標所在行的上一行開始新行
備註:vi編輯器是大小寫敏感的,因此,使用命令時注意正確的大小寫。
定位命令
下面列出的是控制光標的移動鍵功能

h,左箭頭,退格鍵光標左移一個空格
j,下箭頭光標下移一行
k,上箭頭光標上移一行
l,右箭頭,空格鍵光標右移一個空格
w光標右移,到下一個字開頭
b光標左移,到前一個字開頭
e光標右移,到下一個字末尾
$光標右移到行結尾
0,^光標左移到行開頭
回車鍵光標移到下一行開頭
control-f下翻一屏
control-d下滾半屏
control-b上翻一屏
control-u上滾半屏
control-L刷新屏幕
編輯命令
以下部分講解vi編輯器中的編輯命令
刪除文本
要刪除文本,使用下面選項:
vi編輯器中的文本刪除命令
命令功能

x刪除光標所在處的一個字符
dw刪除字(或者刪除字的一部分,從光標所在處到字結尾)
dd刪除光標所在行
D刪除光標光標所在處之右的行
:5,10d刪除5-10行
備註:命令3dw刪除光標所在處開始的三個字,同樣,3dd刪除光標所在行開始的3行。
撤銷、重複、修改文本命令
要修改文本、撤銷修改或者是重複編輯命令,使用下面的編輯命令,許多命令是vi編輯器進入編輯模式,要返回命令模式,按Esc鍵即可:
命令功能

cw修改字(部分字,從光標所在處開始到一個字的結尾)
R從當前光標所在處位置開始替換字符(注:vi將進入編輯模式)
C從光標坐在處開始修改,到行末尾結束
s用字符替換字符串
r替換當前光標所在的字符
J合併當前行以及下面行
Xp轉置光標所在處字符與另一字符
~更改光標所在處字符大小寫
u放棄最近的修改
U放棄對當前行所作的修改
:u放棄上一個最後行命令(用於最後行模式)
:r filename在當前光標所在處讀入文件文本
查找和替換文本,使用以下選項:
命令功能
/string向下查找字符串string
?string向上查找字符串string
n查找字符串string的下一個出現
N查找字符串string的上一個出現
:%s/old/new/g 全局查找和替換
拷貝和粘貼文本
拷貝命令把需要拷貝的文本放入一個臨時緩衝區,粘貼命令從臨時緩衝區中讀取文本,並把文本寫道當前文檔的指定位置。拷貝和粘貼使用的選項如下:
命令功能
yy(小寫)複製一行文本,並將他們放入到臨時緩衝區
p(小寫)將臨時緩衝區中的內容放置到光標後面的位置
P(大寫)將臨時緩衝區中的內容放置到光標前面的位置
:l,3 co 5拷貝1-3行的文本,並把它放置在第5行後面
:4,6 m 8移動4-6行到第8行,第6行稱為第8行,第5行稱為第7行,第4行稱為第6行
保存和退出文件
要保存和退出文件,使用如下選項:
命令功能

:w保存文件,不退出vi
:w new_filename保存到文件new_filename中
:wq保存修改退出vi
:x保存修改並退出vi
ZZ保存修改且退出vi
:q!不保存修改,退出vi
:wq!保存修改,退出vi
定制vi會話
vi編輯器裡麵包括了定制vi會話的操作,例如:
1、顯示行號
2、顯示不可視字符,例如tab和行結尾字符
在命令模式下使用set命令可以控制這些選項:
編輯定制vi會話命令
命令功能

:set nu顯示行號
:set nonu隱藏行號
:set ic設置搜索時忽略大小寫
:set noic搜索時對大小寫敏感
:set list顯示不可視字符
:set nolist不顯示不可視字符
:set showmode顯示當前操作模式
:set shownomode不顯示當前操作模式
:set顯示所有的vi環境變量設置
:set all顯示所有的vi環境變量可能取值及其當前設置值
你也可以把這些操作放在home目錄下你創建的文件.exec中,set操作放在該文件中,不用帶前面的:,一行一個命令,一旦該文件存在時,每次你開啟一個vi會話時系統將取讀取該文件來設置對應的vi環境變量。
要找某一特定行,使用下面的選項:
定位命令
命令 功能

G到文件最後一行
1G到文件的一行
:21到第21行
21G到第21行