VI編輯器的用法

2021-06-15 22:34:00 字數 2587 閱讀 9699

一、unix編輯器概述

編輯器是使用計算機的重要工具之一,在各種作業系統中,編輯器都是必不可少的部件。unix及其相似的ix作業系統系列中,為方便各種使用者在各個不同的環境中使用,提供了一系列的ex編輯器,包括 ex, edit,ed 和vi.其中ex,edit,ed都是行編輯器,現在已很少有人使用,unix提供他們的原因是考慮到滿足各種使用者特別是某些終端使用者的需要。值得慶幸的是,unix提供了全螢幕的vi編輯器,這使我們的工作輕鬆不少。不少dos使用者抱怨vi編輯器不象dos下的編輯器如edit那麼好用,這是因為vi考慮到各種使用者的需要,沒有使用某些通用的編輯鍵(在各個不同的終端機上他們的定義是不同的,在某些終端機上甚至沒有這些鍵)。而是採用狀態切換的方法,但這只是習慣的問題,一旦你熟練的使用上了vi你就會覺得它其實也很好用。雖然 vi採用了狀態切換的方法,但電腦的硬體及作業系統多種多樣,某些電腦的鍵盤上沒有特定的幾個功能鍵!那麼不就有某些功能不能用了?這個問題在 unix 系統上也一樣,幾乎各大電腦廠商都有自己的 unix 系統,而 vi 的操作方法也會隨之有點出入。這裡我們採用 pc 的鍵盤來說明 vi 的操作,但在具體的環境中還要參考相應的資料,這一點是值得注意的。

二、vi入門

(一)、進入vi

在系統提示字元(如$、#)下敲入vi <檔名稱>,vi 可以自動幫你載入所要編輯的檔案或是開啟乙個新檔案(如果該檔案不存在或缺少檔名)。進入 vi 後螢幕左方會出現波浪符號,凡是列首有該符號就代表此列目前是空的。

(二)、兩種模式

如上所述,vi存在兩種模式:指令模式和輸入模式。在指令模式下輸入的按鍵將做為指令來處理:如輸入a,vi即認為是在當前位置插入字元。而在輸入模式下,vi則把輸入的按鍵當作插入的字元來處理。指令模式切換到輸入模式只需鍵入相應的輸入命令即可(如a,a),而要從輸入模式切換到指令模式,則需在輸入模式下鍵入esc鍵,如果不曉得現在是處於什麼模式,可以多按幾次 [esc],系統如發出嗶嗶聲就表示已處於指令模式下了。

(三)、退出vi

在指令模式下鍵入:q,:q!,:wq或:x(注意:號),就會退出vi。其中:wq和是存檔退出,而:q是直接退出。如果檔案已有新的變化,vi會提示你儲存檔案而:q命令也會失效,這時你可以用:w命令儲存檔案後再用:q退出,或用:wq或命令退出,如果你不想儲存改變後的檔案,你就需要用:q!命令,這個命令將不儲存檔案而直接退出vi。

(四)、基本編輯

配合一般鍵盤上的功能鍵,像是方向鍵、[insert] 、[delete] 等等,應該已經可以利用 vi 來編輯檔案了。當然 vi 提供其他許許多多功能,讓文字的處理更為方便。

何謂編輯?一般認為是文字的新增、修改以及刪除,甚至包括文字區塊的搬移、複製等等。先這裡介紹 vi的如何做刪除與修改。(注意:在 vi 的原始觀念裡,輸入跟編輯是兩碼子事。編輯是在指令模式下操作的,先利用指令移動游標來定位要進行編輯的地方,然後才下指令做編輯。)

刪除與修改檔案的命令:

x: 刪除游標所在字元。

dd:刪除游標所在的列。

r:修改游標所在字元,r 後接著要修正的字元。

r: 進入取替換狀態,新增文字會覆蓋原先文字,直到按 [esc] 回到指令模式下為止。

s: 刪除游標所在字元,並進入輸入模式。

s: 刪除游標所在的列,並進入輸入模式。

其實呢,在pc上根本沒有這麼麻煩!輸入跟編輯都可以在輸入模式下完成。例如要刪除字元,直接按 [delete] 。而插入狀態與取代狀態可以直接用 [insert] 切換。不過就如前面所提到的,這些指令幾乎是每台終端機都能用,而不是僅僅在 pc 上。在指令模式下移動游標的基本指令是 h, j, k, l 。u 可以恢復被刪除的文字,而 u 指令則可以恢復游標所

在列的所有改變。這與某些電腦上的 [undo] 按鍵功能相同。

(五)、高階編輯指令

這些編輯指令非常有彈性,基本上可以說是由指令與範圍所構成。例如 dw 是由刪除指令 d 與範圍 w 所組成,代表刪除乙個字 d(elete)w(ord)。

指令列表如下:

d(delete):刪除

y(yank):複製

p(put):放置

c(change):修改

範圍可以是下列幾個: 

e 游標所在位置到該字的最後乙個字母

w 游標所在位置到下個字的第乙個字母

b 游標所在位置到上個字的第乙個字母

$ 游標所在位置到該列的最後乙個字母

0 游標所在位置到該列的第乙個字母

) 游標所在位置到下個句子的第乙個字母

( 游標所在位置到該句子的第乙個字母

} 游標所在位置到該段落的最後乙個字母

{ 游標所在位置到該段落的第乙個字母 

值得注意的一點是刪除與複製都會將指定範圍的內容放到暫存區裡,然後就可以用指令 p 貼到其它地方去,這是 vi 用來處理區段拷貝與搬移的辦法。

某些 vi 版本,例如 linux 所用的 elvis 可以大幅簡化這一坨指令。如果稍微觀察一下這些編輯指令就會發現問題其實是定範圍的方式有點雜,實際上只有四個指令罷了。指令 v 非常好用,只要按下 v 鍵,游標所在的位置就會反白,然後就可以移動游標來設定範圍,接著再直接下指令進行編輯即可。

對於整列操作, vi 另外提供了更方便的編輯指令。前面曾經提到過刪除整列文字的指令 dd 就是其中乙個;cc 可以修改整列文字;而 yy 則是複製整列文字;指令 d 則可以刪除游標到該列結束為止所有的文字。 

Vi編輯器的用法

編輯器是使用計算機的重要工具之一,在各種作業系統中,編輯器都是必不可少的部件。unix及其相似的ix 作業系統系列中,為方便各種使用者在各個不同的環境中使用,提供了一系列的ex編輯器,包括 ex,edit,ed 和 vi.其中ex,edit,ed都是行編輯器,現在已很少有人使用,unix提供他們的原...

Linux中vi編輯器的用法

從輸入模式切換至末行模式必須先切換至命令模式,其切換方法為按 esc 鍵,而命令模式與其餘兩種模式可以任意切換。實驗目標 對末行模式下的命令有清晰的認識,並能熟練的運用。e filename 實驗總結 vi中編輯區域的內容可以在多個已開啟檔案之間進行切換 實驗操作步驟 按鍵功能 方向鍵 進行上下左右...

文書編輯器介紹VI的用法

文書編輯器介紹vi的用法 文書編輯器介紹 vi vi m 在大多數的 unix 系統中 包括 linux 都內建 vi m 編輯器。如果您即將成為 linux 系統管理者,或是長時間在 linux 環境中工作,您最好學會 vi m 因為您遲早會使用到它,由其是系統出狀況時。對新手而言,第一次使用 v...