任何用戶最常做的事要數創建和編輯文件,包括文檔、報告和文
字,vi(Visual Editor)是一個有效而相對簡單的全熒幕編輯,
使用vi,只要記著少量基本指令,就可以開始起步,再學習其他
更復雜的指令,而系統管理員則使用vi管理和維護系統。
vi是包含在SCO System V作業系統中的全熒幕編輯,其實,vi不
獨存在於SCO UNIX內,而是UNIX內相當普及的文件編輯。開
啟文件
無論是開啟新檔或修改舊文件,都可以使用vi,所需指令為:
$ vi filemane
如果文件是新的,就會在熒幕底部看到一個信息,告訴用戶正在
創建新文件。如果文件早已存在,vi則會顯示文件的首廿四行,
用戶可再用游標(cursor)移動文件。
This is what vi looks like.
~
~
上面是一個經vi開啟的模擬文件,一行開始處的波折號(~)表
示文件的結尾。指令態與插入態
vi使用了兩種狀態,一是指令態(Command Mode),另一是插入
態(Insert Mode)。當vi處於指令態時,打入的內容會視作指令
來解釋;另一方面,當vi處於插入態時,就可以打入正文(text)
給文件。
大多數vi指令是單字符,由插入態改變為指令態,指〈Esc〉鍵;
而由命令態轉為插入態,則可以使用下面的插入令,直接打入,
無需再按〈Return〉鍵。
—指令i在游標處插入正文
—指令I在一行開始處插入正文
—指令a在游標後追加正文
—指令A在行尾追加正文
—指令o在游標下面新開一行
—指令O在游標上面新開一行
要記著一點,在插入態處,不能打入指令,必需先按〈Esc〉鍵,
返回指令態。假若戶不知身處何態,也可以按〈Esc〉鍵,不管處
於何態,都會返回指令態。
存檔及退出
在修改文件時,如何存檔及退出指定文件都非常重要。在vi內,
行使存檔或退出的指令時,要先按冒號(:),改變為指令態,用
戶就可以看見在熒幕左下方,出現冒號(:),顯示vi已經改為指
令態,可以進行存檔或退出等工作。
下面就是一些這方面常用的指令。
:q!放棄任何改動而退出vi,也就是強行退出
:w存檔
:wq存檔並退出vi
:x與wq的工作一樣
:zz與wq的工作一樣刪除正文
刪除或修改正文都是利用插入態,故此,下面所提及的指令只需
在插入態內,直接選入指令即行。
—x刪除游標處字符(Character)
—nx刪除游標處後n個字符
—nX刪除游標處前n個字符
—ndw刪除游標處下n個單詞(word)
—dd刪除整行
—d$或D刪除由游標至該行最末
—u恢復前一次所做的刪除
修改正文
當使用vi修改正文,加減字符時,就會采用另一組在插入態操作
的指令。
— r char由char代替游標處的字符
—Rtext〈Esc〉由text代替游標處的字符
—cwtext〈Esc〉由text取代游標處的單詞
—Ctext〈Esc〉由text取代游標處至該行結尾處
—cc使整行空白,但保留游標位置,讓你開始打入
—如刪除指令一樣,在指令前打入的數,表示執行該指令多少次。
正文模式檢索
要檢索文件,必需在指令態下進行。所謂「模式」,就是一個特
定字符串,其中可含空格符。
—/str〈Return〉向前搜尋str直至文件結尾處
—?str〈Return〉往後搜尋str直至文件開首處
—n同一方向上重復檢索
—N相反方向上重復檢索
—vi纏繞整個文件,不斷檢索,直至找到與模式相匹配的下一個
出現。其他
如果要在 vi執行期間,轉到shell執行,使用驚歎號(!)執行系
統指令,例如在vi期間,列出當前目錄內容,可以打入
:!If
另一方面,用戶可以在主目錄中創建.exrc環境文件,用set打入
選項,每次調用vi時,就會讀入.exrc中的指令與設置。下面是
.exrc環境文件的實例:
set wrapmarging=8
set showmode
set autoindent
set number