UNIX上的編輯器簡介

在這裡我們先對今天要介紹的「編輯器」下個定義:編輯器基本上是 一種軟體,其主要功能在於讓使用者可以依著某種方式增加、刪除或修改 一個檔案所包含的資料內容,它的功能通常比較單春,只純粹增刪資料、 對資料的有無做處理,不似WORD等排版軟體還考慮到版面美觀等問題。 無論是傳統的純文字環境或近年較風行的視窗環境,都有其適用的、 如上述之簡單的編輯器,但以傳統的純文字環境下的編輯器種類較多,也 是本課程的主要內容。 在此,我們再強調:編輯器和一般軟體一樣,因寫軟體的作者不同、 構想不同,所以雖然要完成的動作一樣,但不同的編輯器就常常有它們各 自不同的指令與作法,而這些不同的指令與作法就是我們今天所要學習的 重點。
壹、UNIX上的基本編輯器 - vi

指令語法:
                      faculty> vi [要編輯的檔案名稱]
存放位置:
                      /usr/ucb/vi

vi是UNIX系統內附的全螢幕編輯器,只要您的機器使用UNIX作業系統, 您就幾乎一定有vi可以使用,vi在使用時分為三個模式:

1. 命令模式(Command Mode)
2. 文字輸入模式(Text Input Mode)
3. 列命令模式(Last Line Mode)

當我們一開始進入vi編輯器時,就是在vi的命令模式狀態下,此時可 使用游標鍵在資料區內移動游標,但無法輸入資料,必須以下列任一命令 鍵進入文字編輯模式,才能輸入資料:

            a    要在游標後面填上資料
            A    要在游標所在這一行的行尾填上資料
            i    要在游標處插入資料
            o    要在游標下方加上一行空白行
            O    要在游標上方加上一行空白行

進入文字編輯模式後,即可開始編輯,在編輯過程中,可用[return] 鍵換行,用[BACKSPACE]刪除游標前的字元,游標鍵則失去功能,您將發 現使用游標鍵只會看到一些亂碼,此時按就會再回到命令模式,游 標鍵的功能也再度恢復。

            在命令模式中除了上述a、A、i、o、O等指令外,尚有:
dd 刪除一行 dw 刪除一個字組(word) x 刪除一個字元,'4x'即相當於下'xxxx' r 將游標所在位置的字元更改成稍後輸入的字元 R 將一字組更換為稍後輸入的字組 u 取消前一個指令,恢復未下指令前之狀況 U 取消之前下過的所有指令 /[STRING] 在資料中尋找[STRING]這個字串,若有重覆尋找的必要, 可按'n,(next)繼續尋找下一個符合的字串。 [CTRL]-f 游標往前跳24行 [CTRL]-b 游標往回跳24行

如果現在我們位於命令模式中,我們就可使用以下的列命令(一律以 : 為開頭):

            :r [FILE]    將[FILE]的內容插入游標所在處。
            :e [file]    另開一個編輯區,編輯[FILE]檔案。
            :w           將資料存起來,但不離開編輯畫面。
            :wq          將資料存檔並離開編輯畫面。
            :q!          離開編輯畫面,且更改的資料不存檔。
            :q           離開編輯畫面,資料未做任何更動。

貳、推薦使用的編輯器 - joe

指令語法:
                   faculty> joe [要編輯的檔案名稱]
存放位置:
                      /usr/local/bin/joe

joe是一個操作極為簡易的編輯器,它基本的編輯環境就是文字插入 模式,使用者在joe的環境中可隨時輸入、插入資料或移動游標,同樣的 你可以用[return]鍵換行、用[backspace]鍵刪除游標之前的字元。

當然joe還有其他許多好用的功能,你可以按[CTRL]-k h叫出joe的輔 助說明畫面(如下圖),對joe的這些功能做一瞭解,然後再按[ESC]鍵回到 一般的編輯狀態:

在joe的這些功能中,較常用的如:

1. 資料編輯相關指令

            [CTRL]-a      移動游標至行首
            [CTRL]-e      移動游標至行尾
            [CTRL]-k u    移動游標到檔案的最前面
            [CTRL]-k v    移動游標到檔尾
            [CTRL]-d      刪除游標所在的這個字母
            [CTRL]-w      刪除游標所在的這一個字
            [CTRL]-y      刪除游標所在的這一行
            [CTRL]-k b    開始資料標記動作
            [CTRL]-k k    結束標記動作
            [CTRL]-k c    複製標記區的資料
            [CTRL]-k y    刪除標記區的資料
            [CTRL]-k f    尋找檔案資料中的某一字串
            [CTRL]-l      尋找資料中下一個相同的字串

2. 檔案相關指令 -k e 編輯另一個檔案 -k r 將某一檔案的內容插入正在編輯的檔案中 -k d 將檔案內容存檔,不關閉檔案的編輯 -k x 將檔案內容存檔、並關閉檔案 -c 關閉檔案的編輯、放棄已修改的內容

參、符合PE2使用習慣的編輯器 - he

指令語法:
                      faculty> he [要編輯的檔案名稱]
存放位置:
                      /Oz/share/bin/he

在稍早之前,PE2與PE3是PC上使用得最普遍的編輯器,於是在台灣就 有人沿襲著PE2與PE3的使用習慣,並加以中文化而發展了SPE3、漢書(HE) 等編輯器,而其中的漢書更有適用於UNIX作業系統的版本,提供PE2與PE3 的愛用者另一種選擇。

在UNIX環境中使用he時,由於有鍵盤對應(Key Mapping)上的問題, 當只使用一般的通訊軟體從PC連上工作站時,並無法百分之百發揮he應有 的功能,必須以改寫過的通訊軟體才能使he的功能完全發揮(見附錄)。

在he中,同樣可用[ENTER]鍵換行、[BACKSPACE]鍵刪除游標之前的 字或字元,同時你也可以按[F1]叫出漢書的輔助功能表(如下圖),在這個 功能表內,你可以移動游標、按[ENTER]執行指定的動作:

其中較常用的功能如:

            [ESC]        切換本文列與命令列
            [F1]         呼叫he的輔助功能表,在這個功能表內,你可以移動
                         游標、按[ENTER]去執行指定的動作
            [F2]         將檔案內容存檔、不離開檔案的編輯
            [F3]         將檔案內容存檔、離開檔案的編輯
            [F4]         離開檔案的編輯、放棄已修改的資料
            [F9]         在游標下方插入一空白行
            [CTRL]-[BKS] 刪除游標所在的字元
            [ALT]-l      將游標所在這一行標記起來
            [ALT]-b      做資料區塊的標記
            [ALT]-c      拷貝標記區到游標所在處
            [ALT]-m      將標記區的資料搬移到游標處

此外,若您未使用[附錄]所提的特殊通訊軟體,你就會發現一些習慣 使用的功能鍵,如[alt]、[ins]等,已沒有作用,此時你可以用

            [CTRL]-a    代替    [ALT]鍵
            [CTRL]-a i  代替    [INS]鍵
以使編輯功作一樣能順利進行。

肆、其他編輯器簡介

(1) jove

指令語法:

                      faculty> jove [要編輯的檔案名稱]
存放位置:
                      /usr/local/bin/jove

在jove環境中,同樣可以用[ENTER]鍵換行、用[BACKSPACE]鍵刪除游 標之前的字元,其他常用的功能如:

            [F2](或[CTRL]-x s)              將檔案內容存檔
            [F4](或[CTRL]-x [CTRL]-c)       關閉正在編輯的檔案
            [F10](或[CTRL]-x [CTRL]-i)      將一已存在的現成檔案的內容插
                                            入正在編輯的檔案中
[F2]、[F4]、[F10]等功能鍵能否發生作用的原因在:帳號的Home Directory 下有沒有適當的環境設定檔(.joverc),如果沒有,這些功能鍵就無法發 揮作用。

(2) pico

指令語法:

                      faculty> pico [要編輯的檔案名稱]
存放位置:
                      /usr/local/bin/pico

pico是pine這個電子郵件工具的內定編輯器,所以對於pine的使用者 來說,pico的熟悉是絕對必要的。在pico的環境中,同樣可按[ENTER]鍵 換行、用[BACKSPACE]刪除游標前的字元,此外的其他常用功能還有:

           [CTRL]-o      將檔案內容存檔
            [CTRL]-r      將一已存在的現成檔案的內容插
                          入正在編輯的檔案中
            [CTRL]-k      刪除游標所在的這一行資料
            [CTRL]-x      關閉正在編輯的檔案

五、附錄

若想完全發揮漢書的功能,必須使用專為漢書改寫的通訊軟體連上工 作站,在傳統的DOS 環境中,使用者可用下列方式安裝DOS 環境下的通訊 軟體,以發揮漢書之最大功能:

1. 通訊軟體取得方式

            a. 執行ftp連到140.114.63.17
               (Username為ftp、Password為個人之E-Mail地址)
            b. ftp> cd /pub/msdos        (按[ENTER])
            c. ftp> bi        (按[ENTER])
            d. ftp> get he_tel.exe        (按[ENTER])
            e. ftp> bye        (按[ENTER])

2. 通訊軟體的安裝與使用

            a. 在DOS提示符號下執行   he_tel -y
               此時會產生一子目錄(telnet)及一批次檔(hetel.bat)。
            b. 請更改telnet\config.tel檔案中的myip及gateway的設定。
               (若檔案未被更動,此二設定是位於檔案中第15及第226行。)
            c. 如果您的網路卡驅動程式尚未被載入,請先將之載入。
               (如DE200PD 0X60 5 0X300、NE2000 0X60 5 0X300等)
            d. 在確定網路卡已驅動後,您可執行  hetel [工作站名稱或IP]
               進入想使用的工作站帳號中,如HETEL Y12。
3. 工作站上的設定

a. 如果您是使用sh或bash,請在$HOME/.profile中加上如下設定:

HLANG=big5
export HLANG
b. 如果您是使用csh或tcsh,請在~/.cshrc中加上如下設定:

setenv HLANG big5

4. 漢書(he)乃位於/Oz/share/bin目錄下,如果您是使用csh或tcsh,請 將/Oz/share/bin加入所設定的path中(若使用sh或bash,系統管理者 已設定好,使用者可直接使用)。

5. 在使用漢書時,可按[F1]啟動漢書的輔助功能。要注意的是:在he中 有許多以[ALT]鍵啟動的功能鍵(如[ALT]-c),而我們所用的通訊軟體 (TELNET)也常以[ALT]鍵來啟動其內鍵的功能,因此在使用he的這類 功能鍵前,請先按[ALT]-[ESC],以避免與通訊軟體的功能鍵相衝突。 (再按一次[ALT]-[ESC]則是取消漢書功能鍵的使用)

6. 有關通訊軟體安裝的部分,因每部PC的情況可能都不同,如果您按著 這些步驟執行還有任何問題,請e-mail到jlin@cc.nthu.edu.tw查詢。