vi
的原意是
"visual"
,它是乙個立即反應的編輯程式,也就是說可以立刻看到操作結果。
vi是所有
unix/linux
系統都會提供的螢幕編輯器,它提供了乙個視窗裝置,通過它可以編輯檔案。當然,對
unix
系統略有所知的人,或多或少都覺得
vi超級難用,但
vi是最基本的編輯器,所以希望讀者能好好把它學起來,以後在
unix
世界裡必將暢行無阻、游刃有餘,因為其他幾種文字處理器並非
unix
標準配備。
一、
vi的基本概念
基本上vi
可分為三種操作狀態,分別是命令模式(
command mode
)、插入模式(
insert mode
)和底線命令模式(
last line mode
),各模式的功能區分如下: 1
.comand mode
:控制螢幕游標的移動,字元或游標的刪除,移動複製某區段及進入
insert mode
下,或者到
last line mode。
2.insert mode
:唯有在
insert mode
下,才可做文字資料輸入,按
esc等可回到
comand mode。
3.last line mode
不過可以把
vi簡化成兩個模式,即是將
last line mode
也算入command mode,把vi
分成command
和insert mode。
二、
vi基本操作
1、進入
vi
在系統提示符號輸入
vi及檔名稱後,即可進入vi
$ vi testfile
有一點要特別注意,就是您進入
vi之後是處於「
command mode」
下,您要切換到「
insert mode」
才能輸入文字。
初次用vi的使用者都會想先用上下左右鍵移動游標,結果電腦一直叫,把自己氣個半死,所以進入
vi後,先不要亂動,轉換入
insert
後再說。切換至「
insert mode」
編輯檔案在「
command mode」
下按『i』
、『a』
或『o』
三鍵就可進入「
insert mode」。
這時候您就可以開始輸入文字了。
i: 插入,從目前游標所在之處插入所輸入的文字。
a: 增加,目前游標所在的下乙個字開始輸入文字。
o: 插入新的一行,從行首開始輸入文字。
「insert mode」
切換至「
command mode」
,按esc鍵
如果目前處於
insert mode
,就只能一直打字。假如發現打錯字了,想用游標鍵往回移動,將該字刪除,就必須按
esc鍵切換回
command mode
,再刪除文字。
2、離開
vi及儲存檔案
在「command mode」
下,可按冒號「
:」進入「
lastline mode」
,例如:
:w filename (
輸入「w filename」
,將文章存入指定的檔名
filename)
:wq (
輸入「wq」
,因為進入之時已經指定檔名
testfile
,所以會寫入
testfile
並離開vi)
:q! (
輸入「q!」
,強制離開並放棄編輯的檔案)
三、
vi的游標移動
在命令模式中可以使用命令進行以下操作。
游標方向的移動,除了可以使用方向鍵,還可以使用以下命令
向上移動游標:k
向左移動游標:
h 向右移動游標:l
向下移動游標:j
翻頁命令
ctrl+f
向前翻整頁
ctrl+u
向前翻半頁
ctrl+b
向後翻整頁
ctrl+d
向後翻半頁
行內快數跳轉 ^
移動到本行行首 $
移動到本行行尾
顯示行號和取消行號
(末行模式使用)
set nu
顯示行號
set nonu
取消行號
在命令模式下,使用以下命令可以快速的在行間跳轉
1g 或gg
跳轉到檔案首行 g
跳轉到尾行
#g跳轉到檔案的#行
三、
vi的編輯操作
進入輸入模式:
i插入命令
a附加命令
o開啟命令
c修改命令
r取代命令
s替換命令
esc退出命令
輸入模式的操作
home
游標到行首,
end
游標到行尾,
page up
和page down
上下翻頁
刪除操作
(命令模式使用
)
x刪除游標處的單個字元
dd刪除游標所在行
dw刪除當前字元到單詞尾包括空格的所有字元
#x例如3x
刪除游標處向右的三個字元
#dd例如3dd
從當前行開始向下刪除三行文字
撤銷操作
u命令取消最近一次的操作,可以使用多次來恢復原有的操作 u
取消所有操作
ctrl+r
可以恢復對使用
u命令的操作
複製操作
yy命令複製當前整行的內容到
vi緩衝區
yw複製當前游標所在位置到單詞尾字元的內容到
vi快取區,相當於複製乙個單詞
y$複製游標所在位置到行尾內容到快取區
y^複製游標所在位置到行首內容到快取區
#yy例如:5yy
就是複製5行
#yw例如:2yw
就是複製兩個單詞
如果要複製第
m行到第
n行之間的內容,可以在末行模式中輸入m,
ny例如:3,
5y複製第三行到第五行內容到快取區
四、
vi的查詢與替換
vi的查詢和替換功能主要在末行模式完成:
查詢
/ 要查詢的字串,其中
/代表從游標所在位置起開始查詢,例如:
/work
從上往下查詢
n,從下往上查詢n
替換
:s/old/new
用new
替換行中首次出現的
old
:s/old/new/g
用new
替換行中所有出現的
old
:#,# s/old/new/g
用new
替換從第
#行到第
#行中出現的
old
:% s/old/new/g
用new
替換整篇中出現的
old
注意,如果替換的範圍較大時,在所有的命令尾加乙個
c命令,強制每個替換需要使用者進行確認,例如
:s/old/new/c
或s/old/new/gc
vi的基本操作
目錄 vi myfile注意 進入vi時是處於 命令列模式 command mode 要切換到 插入模式 insert mode 才能夠輸入文字 在 命令列模式 command mode 下按一下字母 i 就可以進入 插入模式 insert mode 在 插入模式 insert mode 下按一下e...
vi的基本操作
vi的基本操作 a 進入vi 在系統提示符號輸入vi及檔名稱後,就進入vi全螢幕編輯畫面 vi myfile 不過有一點要特別注意,就是您進入vi之後,是處於 命令列模式 command mode 您要切換到 插入模式 insert mode 才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動...
vi基本操作方法
一 vi的操作模式vi提供兩種操作模式 輸入模式 insert mode 和指令模式 command mode 在輸入模式下,使用者可輸入文字資料。在指令模式下,可進行刪除 修改等各種編輯動作。在輸入模式下,按esc鍵切換到指令模式下。在指令模式下,按輸入指令 i a o等 進入輸入模式。二 進入v...