天天看點

vi編輯器使用vi編輯器入門vi編輯器進階用法

vi編輯器入門

基本的vi編輯器指令

進入vi編輯器

啟動vi

退出vi

// 使vi處于指令模式
[Esc]
// 儲存并退出
:wq
// 退出
:q
// 強行退出
:q!
           

移動光标鍵

h或[←]     将光标向左移動一格
j或[↓]     将光标向下移動一格
k或[↑]     将光标向上移動一格
l或[→]     将光标向右移動一格
           

文本輸入模式

i 在光标左側輸入正文
I 在光标所在行的開頭輸入正文
a 在光标右側輸入正文
A 在光标所在行的結尾輸入正文
o 在光标所在行的下一行增添新行,并且光标位于新行的開頭
O 在光标所在行的上一行增添新行,并且光标位于新行的開頭
           

指令模式

光标移動鍵

h或[←]     将光标向左移動一格
j或[↓]     将光标向下移動一格
k或[↑]     将光标向上移動一格
l或[→]     将光标向右移動一格
$          将光标移到目前行的行尾
w          将光标向右移動一個字
e          将光标移動到行尾
0          将光标移動到行首
[return]   将光标移動到下一行的行首
[spacebar] 将光标向右移動一格
[backspace]将光标向左移動一格
           

文本修改

x   删除光标位置指定的字元
dd  删除光标所在的行
u   撤銷最近的修改
U   撤銷對目前行所做的所有修改
r   替換光标位置上的一個字元
R   替換從光标位置開始的字元,同時改變vi到文本輸入模式
.   重複上一次的修改
           

退出vi編輯器

wq  儲存檔案,退出vi編輯器
w   儲存檔案,但不退出vi編輯器
q   退出vi編輯器
q!  不儲存檔案,退出vi編輯器
ZZ  儲存檔案,退出vi編輯器
           

Linux:vi線上幫助

在指令模式下,輸入:help[return]可以顯式一個幫助文檔

在幫助文檔中,輸入:q[return]退出幫助文檔,回到檔案内容

存儲緩沖區

vi編輯器為使用者所要建立和修改的檔案建立一個臨時的工作區

vi編輯器進階用法

vi編輯器的啟動

啟動vi編輯器

在不提供檔案名而啟動vi編輯器

輸入vi和[return],進入文本編輯模式,此時編輯的内容全部在緩沖區中
輸入:w <filename>将緩沖區的内容儲存在檔案<filename>中,不退出vi編輯器
輸入:w! <filename>将緩沖區的内容儲存在檔案<filename>中,并覆寫原檔案,不退出vi編輯器
輸入:wq <filename>将緩沖區的内容儲存在檔案<filename>中,并退出vi編輯器
           

使用vi的啟動選項

打開和退出隻讀檔案

vi -r <filename> 
view <filename> 通過隻讀的方式打開檔案
:q 或者 :q! 強制退出隻讀檔案
           

打開檔案并執行指令

編輯多個檔案

vi <file1> <file2> ... 同時打開多個檔案清單
:n  立即打開檔案清單中的下一個檔案
:n! 強制打開檔案清單中的下一個檔案
ar:檢視檔案清單

//編輯另一個檔案
:e <file>

//讀另一個檔案
:r <file>

//寫入另一個檔案
:start_line, end_line w <file>
           

重排文本

移動行

dd 删除目前行,并且把目前行複制到緩沖區
p  将被删除的行放到目前行下
P  将被删除的行放到目前行上
           

複制行

yy 将目前行複制到緩沖區
p  将被删除的行放到目前行下
P  将被删除的行放到目前行上
           

vi操作符的域

指令 = 操作符 + 域

$    辨別域為從光标位置開始到目前行尾
0    辨別域為從光标位置開始到目前行首
e或w 辨別域為從光标位置到目前字尾
b    辨別域為從光标位置到目前字首
           

使用删除操作符和域控制鍵

d$   删除從目前光标到行尾的文本
d0   删除從目前光标到行首的文本
dw   删除光标後的一個字,光标向後移
3dw  删除光标後的三個字
de   删除光标後的一個字,光标不向後移
db   删除到前一個字的自首
           

使用複制操作符和域控制鍵

y$   将光标到行尾的字元指派,光标位置不變
p    将複制的文本放到光标位置後
P    将複制的文本放到光标位置前
           

使用修改操作符和與控制鍵

cw 在目前字尾放置标記,然後轉入文本輸入模式
輸入新的文本
[esc] 将新的文本替換舊文本
           

在vi中使用緩沖區

vi編輯器中有多個用于臨時存儲的緩沖區。有兩類臨時緩沖區:數字編号緩沖區和命名緩沖區

數字編号緩沖區

vi使用數字1~9為9個緩沖區進行編号,數字編号越小的緩沖區儲存最新的内容

"9p 表示将編号為9的緩沖區的文本複制到光标區域
           

字母編号緩沖區

vi使用字母a~z來為26個緩沖區進行命名

這些緩沖區中的内容沒有自動替換,而是使用者對緩沖區進行操作

光标定位鍵

[ctrl-d]    光标向下移動,每次移動12行
[ctrl-u]    光标向上移動,每次移動12行
[ctrl-f]    光标向下移動,每次移動24行
[ctrl-b]    光标向上移動,每次移動24行
           

通過行号定位

1000G 定位到第1000行
G     定位到檔案尾
           

定制vi編輯器

:set all 檢視完整參數清單和它們在系統上的設定
           

選項的格式

布爾值

set X 打開
set noX 關閉
           

數字

set X=12 将數字選項指派為12
           

串選項

set X=PPP	
           

set指令

:set all 顯示所有選項
:set     顯示已修改過的項
:set X?  顯示目前項的值
           

設定vi的環境

設定vi編輯器中的環境

行長和行回繞

螢幕終端通常隻有80列,可指定vi編輯器在80-wrapmargin前自動換行

縮寫與宏

縮寫:為文本輸入定義縮寫

ab <縮寫> <原句>
unab <縮寫> <原句>
           

宏:為指令定義縮寫

map <縮寫> <原指令>
unmap <縮寫> <原指令>
           

.exrc 檔案

使用者在vi編輯器中設定的參數是臨時儲存的,永久儲存需要在.exrc檔案中設定

當vi啟動時,首先在目前目錄下尋找.exrc檔案,如果沒有,則檢查主目錄,如果主目錄中沒有,則使用預設值

.exrc中的設定與vi編輯器中的指令一樣

其他vi指令

運作shell指令

可以在指令模式輸入shell指令:vi編輯器将清屏并執行shell指令,按任意鍵傳回vi編輯器

行連接配接

使用J指令連接配接兩行

搜尋和替換

檔案恢複選項

繼續閱讀