歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

SCOUNIX基礎講座--第三講vi editor

    任何用戶最常做的事要數創建和編輯文件,包括文檔、報告和文
   字,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
Copyright © Linux教程網 All Rights Reserved