詳解Unix/Linux系統中vi編輯器
自從計算機的風靡,導致很多人開始學習開始學習這方面的知識,今天講講Unix/Linux系統中vi編輯器的知識。vi編輯器是Unix/Linux系統管理員必須學會使用的編輯器。看了不少關于vi的資料,終于得到這個總結。不敢獨享,和你們共享。
首先,記住vi編輯器的兩個模式:1、命令模式 2、編輯模式。
在一個UNIX/Linux的shell命令或者一個以斜杠(/)、問號(?)或冒號(:)開始的vi命令后面用戶需要鍵入回車鍵,而要切換到vi命令模式需要按Esc鍵。注意,以冒號(:)或者斜杠(/) 開始的vi命令會顯示在屏幕底部,但其他命令都不會顯示在屏幕上。
打開、寫入和關閉文件(使用Enter鍵)
vi file 打開文件名為file的文件(UNIX shell命令)
:w將工作緩沖區的變化寫入默認文件中
:w file 將工作緩沖區的變化寫入名為file的文件中
:q 退出vi編輯器
:wq將工作緩沖區的變化寫入文件并退出
:q!不將工作緩沖區的變化寫入文件并退出vi編輯器
插入文本(vi命令模式下使用)
a在當前光標位置的右邊添加文本
i在當前光標的左邊插入文本
A在當前行的末尾添加文本
I在當前行的開始出添加文本
O在當前行的上面新建一行
o在當前行的下面新建一行
R替換(覆蓋)當前光標位置以及以后的若干文本
J 連接光標所在行以及下一行,成為一行
移動光標
上下左右方向鍵 向箭頭所示方向移動光標一個位置
h向左
j向下
k向上
l向右
空格鍵向右
Backspace向左
Enter向下移動到下一行的行首
-(連字符鍵)向上移動到上一行的行首
糾正錯誤(vi命令模式下使用)
x刪除一個字符
dd刪除當前行
ndd 上除當前行在內的n行
u撤銷上一次操作(最后一步)
U撤銷對當前行的所有操作
拼寫檢查(UNIX shell命令)
spell file 顯示問及那file中找到的拼寫錯誤
ispell file 顯示問及那file中找到的拼寫錯誤
搜索(vi命令模式下使用)
/word向前搜索第一個出現的word
/ 繼續向前搜索下一個word
?word向后搜索第一個出現的word
?繼續向后搜索下一個word
跳躍到指定行(vi命令模式使用)
n+向前(向下)跳躍n行
n-向后(向上)跳躍n行
nG跳躍到行號為n的行,G為Go
G跳躍到文件的底部
設置行號(vi命令模式下使用)
:set nu在屏幕上顯示行號
:set nonu 取消行號
復制和粘貼(vi命令模式下使用)
"knyy復制n行到緩沖區"k
"kp 將緩沖區"k的內容粘貼到當前行的下面
全局替換文本(vi命令模式下使用)
:%s/old/new/g用new替換文件中的所有old。s為substitution,替換的意思。g為global。
編輯另一個文件(vi命令模式下使用)
:e otherfile編輯文件名為otherfile的文件
為命令行編輯制定一個編輯器(UNIX shell命令)
bindkey -v指定vi編輯器(用于 tcsh)
VISUAL=vi指定vi編輯器(用于 ksh)
set -o vi 指定vi編輯器(用于 bash)
緩沖區:
前面講過,vi編輯器設計上是對工作緩沖區的文件副本進行編輯。在使用vi編輯器的時候,用戶還可以訪問其他緩沖區。總共有36個緩沖區。
◆ 未命名緩沖區
◆ 已命名緩沖區 "a、"b、"c、……、 "z
◆ 已編號緩沖區 "1、"2、"3、……、 "9
未命名緩沖區有時也叫做一般緩沖區。在修改文本時,舊文本并沒有被立刻刪除。vi將舊文本放在未命名緩沖區直到用戶刪除修改更多的文本。這樣就可以實現撤銷,具體命令為 u。因為vi只有一個未命名緩沖區,所以只能撤銷一次。
命令模式和編輯模式的切換:
如果不清楚當前所在的模式,可以連續按2次Esc鍵盤,主機會發出警報聲,這樣就肯定進入了命令模式。在命令模式下面,輸入a A i I O o R都會進入編輯模式。所輸入的這單個字符不會顯示,也不會插入到文件中。
希望本文對你了解Unix/Linux系統中vi編輯器有所幫助。
【編輯推薦】