跳至內容

Ed(文本編輯器)

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 16:53 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

ed是用著 Unix 佮類 Unix 作業系統的行編輯器。伊是 Unix 作業系統佇一九六九年八月開發出來的上初部份。伊猶閣是 POSIX 和 Open Group 的是因為 Unix 的作業系統標準的一部份,佮閣較完備的全螢幕編輯器 vi 並列。

歷史佮影響

ed 文字編輯器是 Unix 作業系統上頭仔的三个要件之一:組譯器、編輯器佮 shell,𪜶是 Ken Thompson 佇一九六九年八月於 AT & T 貝爾實驗室佇 PDP 抹七上開發的。ed 的足濟特徵來自 qed 文字編輯器,伊是 Thompson 的母校加州大學伯克利分校開發的。Thompson 非常的熟似 qed,捌佇 CTSS 和 Multics 系統上重新實現過伊。Thompson 版本的 qed 捌因為頭先實現矣正規表示式開名。正規表示式嘛真正現代 ed 中,就算講相比 qed 著的遮實現的欲相當無一般性。

Dennis M . Ritchie 生產了後來 Doug McIlroy 所講的「終極」ed,ed 的各方面轉來影響著 ex,伊照次閣產生矣 vi。非互動式 Unix 命令 grep 受著 qed 佮後來的 ed 常見特定用法的啟發,𪜶的命令 g / re / p 含義是全域走揣正規表示式 re 並列印包括伊的行。Unix 有串流編輯器 sed 實現未予人 Unix 上的 ed 所支援的 qed 的足濟指令碼特徵。

特徵

ed 的特徵包括講:

  • 佇咧所有 Unix 系統頂懸必須會當得著,佇符合單一 UNIX 規範的系統頂懸是強制的。
  • 模態編輯器,支援命令模式、文字模式佮檢視模式。
  • 支援正規表示式。
  • 通過對標準輸入取得命令達成的強力自動化。

對稱伊的簡潔性,ed 強欲無予視覺回饋,故佇咧捌予人 Peter H . Salus 這號做「捌有過的上仇視使用者的編輯器」,即使是較仝時代的(因為複雜共名狼藉的)TECO。比如講,佇有錯誤的情況,抑是講伊想欲確認使用者希望無儲存登出的時,ed 產生的訊息就是講「?」。 伊無報告當前檔名抑是行號,甚至無顯示變閣較文字的結果,除非發出要求。閣較老版本(大約一九八一年)咧發起登出命令猶若使用者無儲存變更的時陣甚至無提示確認。這種素潔性著 Unix 的古早版本是適當的,彼陣控制台是電傳拍字機,數據機足慢的,記持體是珍貴的。電腦技術進步予遮的限制解除了,有閣較濟視覺回饋的編輯器成做常規。

佇咧早前實踐中,ed 真少互動式使用,但是咧煞佇咧一寡 shell 指令碼中有所使用。對互動式的使用,ed 佇一九八空年代予人 sam、vi 和 Emacs 編輯器取代。ed 事實上會當佇所有獲得的 Unix 和 Linux 版本揣著,因此著愛佇咧幾个版 Unix 食頭路的人有效。佇基於 Unix 的作業系統上,一寡實用工具如果 SQL Plus 執行 ed 作為編輯器,若是 EDITOR 和 VISUAL 環境變數無定義。若佇故障的情形下,ed 有時陣是唯一會當得著的編輯器。這差不多是伊互動式使用的唯一時刻。

ed 命令佇咧其他基於行的編輯器當中不時被模仿。比如講,佇早期版本的 MS-DOS 佮三十二-bit 版本的 Windows NT 中,EDLIN 有某一个程度頂懸類似的語法,佇咧足濟 MUD(LPMud 佮後代)當中的文字編輯器使用類似 ed 的語法。但是遮的編輯典型的佇功能頂懸更加有限。

下跤是一个 ed 對談的例抄錄。為著清度,命令佮使用者鍵入的文字使用正常字型,來自 ed 的輸出被摻粗。

` ` ` a ed is the standard Unix text editor . This is line number two . . 二 i

. , l ed is the standard Unix text editor . $ $ This is line number two . $ 三 s / two / three / , l ed is the standard Unix text editor . $ $ This is line number three . $ w text 六十五 q ` ` `

最後結果是包含下列文字的一個簡單文字檔案 :

` ` ` ed is the standard Unix text editor .

This is line number three . ` ` `

開始佇一个閬縫案,` a ` 命令附加文字,所有 ed 命令攏單一字母。這个命令安置 ed 進入「插入去彼个模式」,插入去綴尾的字元,並且干焦一个單一的點行終止。在此點終止前鍵入的兩行進入檔案緩衝區。` 二 i ` 命令嘛進入插入模式,並且佇第二行進前插入鍵入的文字,遮是空行。所有的命令攏會使字首一个行號來在此行上進行操作。

咧行 ` , l ` 中,l 表示列表命令。這个號令字條著一个範圍,遮是 ` , `,伊是 ` 一 , $ ` 的簡寫。範圍是由樂分隔的兩个行號,` $ ` 意味講到上尾一逝。做回應,ed 列出所有行,對最後先到最後。遮的行用美金號終結,所以佇行尾的空白明顯可見。

一旦空行被插入去到第二行進前,讀作「This is line number two」的行,這馬實際上是第三行的。這个錯誤使用 ` 三 s / two / three / ` 命令來更正,這是替換命令的。` 三 ` 指定應用這个命令的彼个行;隨後是欲予人替換的文字,紲落來是欲替代成的文字。這馬用 ` , l ` 命令列出的行是正確的矣。

` w text ` 命令寫緩衝區到檔案「text」,予得 ed 用「六十五」來回應,這是寫到檔案中的字元數目。` q ` 命令結束 ed 對談。

參見

  • ex ( 文字編輯器 ),上早是擴充版本的 ed。
  • vi,是因為 ex 的可視全螢幕編輯器 .
  • sed,是因為 ed 內指令碼特徵的標準 UNIX 有串流編輯器。
  • Edlin,受 ed 影響的標準 MS-DOS 行編輯器。
  • Sam ( 文字編輯器 )
  • 編輯器之戰
  • Unix 實用程式列表

參照

外部連結

  • ` ed ` :  edit text –  命令佮工具(Commands & Utilities)參考,單一 UNIX® 規範第七期,由國際開放標準組織發布
  • 是咧講 ed 的 Unix 頭版手冊頁。
  • GNU ed homepage。
  • ` ed ( 一 ) ` :  text editor – Version 七 Unix Programmer's Manual
  • ` ed ( 一 ) ` :  text editor – Plan 九通用命令(General Commands)手冊頁,上代先 ed 的直接後代。
  • Win 三十二版本 GNU ed
  • Unix Editors I
  • ed 用佇咧指令碼的例
  • ed 笑詼 ( " Ed 是標準文字編輯器 " )
  • 佇咧 Berkeley 進前的 UNIX 歷史章節三石一描述了 ed 的歷史。