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