文字編輯器
軟件開發 |
---|
核心行動 |
範式與模式 |
方法論與框架 |
支援行為 |
實踐 |
工具 |
標準與知識體系 |
文字編輯器是種電腦軟件,主要用來編寫和檢視文字檔案。特殊的文字編輯器支援增加自有的格式來豐富文件的表現形式。作業系統或者整合式開發環境通常會帶有可以檢視和編輯純文字的編輯器,可增加格式的文字編輯器通常是個人用戶或者公司在製作需要格式的檔案中使用。[1]
程式和其組態檔常以純文字格式儲存,程式設計師也須用純文字編輯器來編輯程式和設定檔。
純文字檔案與文書處理檔案
由文字編輯器建立的純文字檔案與由Microsoft Word、iWork與OpenOffice.org之類的文書處理器建立的文件檔案之間,有明顯不同:
- 當展現或者編輯純文字檔案時,需要顯示檔案所含的所有字元。起標記作用的只有那些文字檔案所使用的字元集裏的控制字元,即換行符、制表位和換頁符,比如簡單常用的字元集ASCII。純文字檔案常用於編寫程式和記錄組態資訊;或者自訂標籤的格式如,XML、HTML。
- 文書處理器建立的文件除了包括字元集所定義的字元外,通常還包含由檔案格式指定的控制字元。這些控制字元實現了諸如粗體、斜體、字型、列、表等功能。
- 文書處理器通常能夠編輯並匯出或儲存為純文字檔案。但是,這樣做必須很小心。用文書處理器處理源程式、HTML代碼、設定檔和控制檔案時要格外注意。否則,這些檔案里就會包含那些文書處理器對應格式裏的特殊字元,檔案就會出現問題。
歷史
文字編輯器出現前,人們用打孔機把電腦文字打到穿孔卡片上。文字存放於裝着這些薄卡片的盒裏,可用讀卡器來閱讀。
第一種文字編輯器是一種行編輯器,它在打字機型的終端執行,這種編輯器並無在視窗和螢幕中顯示的功能。它包含一些非常短的命令(以減少打字量)。其中一條命令能夠把檔案的指定部分通過打字機列印出來。編輯游標是想像中的插入點,通過特殊命令,可以把它移動到特定內容字串所在的行。隨後,內容字串又被擴充成正則表達式。如果想看到檔案的變化,須把它列印出來。相對穿孔機來說,人們認為這種基於行的文字編輯器有革命進步。如果沒有它,用戶就需要把那些處理文字的命令打成專用的卡片,並在編輯檔案時使用這些卡片。
當帶有顯示器的電腦終端出現後,基於顯示器的文字編輯器開始流行起來。早期有種全螢幕編輯器叫O26,它是於1967年為CDC 6000系列機器的操作控制台而作。另一款早期的全螢幕編輯器是vi,誕生於20世紀70年代,至今仍內建於Unix和Linux系統;不過vi的改善版本Vim也廣為人知。全螢幕編輯器提升影片終端銷售量。
不同的文字編輯器
有些文字編輯器簡潔易用,只能編輯純文字檔案,也有些文字編輯器功能豐富複雜,支援大量格式的文字檔案。Unix和類Unix作業系統都提供了vi編輯器(或其變種),但是也有部分作業系統提供了Emacs編輯器。這兩款文字編輯器以其獨特的快速鍵操作和可客製化的工作環境而在程式設計師世界中廣泛應用;普通用戶則喜歡使用Microsoft Office來為文字添加格式。Windows系統同樣提供了可編輯純文字檔案的記事本和類似Word的寫字板提供了基本的寫作功能。也有很多人,尤其程式設計師更喜歡Windows下功能更豐富,更專業的其它編輯器。OS X提供的TextEdit可以編輯純文字也可以編輯多資訊文字,類似DOS的Wordstar.
專業的文字編輯器需要在處理巨大的文字檔時保持速度的能力。例如,系統管理員須讀取很長的紀錄檔檔;程式設計師須修改很大的原始碼檔,或者檢查那種異乎尋常的大檔案,比如用於儲存整本詞典的檔案。這需要文字編輯器最佳化大檔案,而非簡單把文字載入主記憶體。
有些文字編輯器專門為提高效率和自訂制環境提供了可程式化的語言。這些語言大部分都是通用的手稿語言,也有一些是專門為文字編輯器設計的語言,例如Vim的Vimscript。在Emacs中,可以用Lisp程式編寫宏來控制Emacs或者自訂快速鍵。利用這種手段,用戶可以按照自己的習慣方便的使用這些文字編輯器,但是這些方式也通常難學,不利於初學者客製化自己的習慣。
還有一些可程式化編輯器採用REXX作為它們的手稿語言。這些編輯器支援在螢幕的底部直接輸入命令或者REXX陳述式。在這類編輯器中,最典型的是Xedit的後續產品,而Xedit是IBM在VM/CMS中的編輯器。一些vi的後續產品,如Vim,還支援摺疊以及宏,而且底部還有命令列。人們認為它們是另一類正統編輯器。
許多用於開發軟件的文字編輯器支援語法突顯和自動完成原始碼,使程式更易讀寫。程式編輯器通常還允許你選取子程式或者變數,然後跳轉到它的定義部分,再跳回原來的位置。ctags等附加工具就是專門用來定位定義部分。
隨着電腦網絡發展,又誕生了可以多人協同編輯的文字編輯器,如Windows作業系統的Netpad可讓多人同時編輯或閱讀同一份檔案。
典型功能
剪下、複製、貼上
檔案內或檔案間複製或移動。
搜尋和取代
文字編輯器提供豐富的功能來搜尋和取代文字,可以是單一檔案,也可以是打開的分頁或指定資料夾中的檔案組。多功能編輯器可用規律表達式搜尋和編輯文字或代碼。其他功能有區分大小寫、用於快速調用和自動完成的搜尋紀錄,以及在專用工具框列出結果。
文字排版
文字編輯器通常有基本排版功能,如卷行、自動縮排、行號排版、註釋排版等。
復原和恢復
同文書處理器一樣,文字編輯器也可復原和恢復。老的文字編輯器通常只支援一級的編輯歷史,只能復原或恢復至上一次變化;現代複雜的文字編輯器支援多級編輯歷史,能復原或恢復至任何歷史狀態。能夠記錄變化的次數隨編輯器而異,通常也可自訂。
匯入
讀取或者合併另一份文字檔案的內容至當前在編輯的檔案。有些文字編輯器支援插入作業系統命令的輸出。
過濾
一些先進的文字編輯器可把正在編輯的檔案傳送至另一工具,並把過濾後的結果回讀至這檔案,如排序或計數。
參見
參考文獻
- ^ 第十一天:認識文字編輯器. iThome. [2019-04-04]. (原始內容存檔於2020-11-27).