跳至內容

文本編輯器

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
文本編輯器Vim

文本編輯器是種計算機軟件,主要用來編寫和查看文本文件。特殊的文本編輯器支持增加自有的格式來豐富文檔的表現形式。操作系統或者集成開發環境通常會帶有可以查看和編輯純文本的編輯器,可增加格式的文本編輯器通常是個人用戶或者公司在製作需要格式的文件中使用。[1]

程序和其配置檔常以純文本格式儲存,程序員也須用純文本編輯器來編輯程序和配置文件。

純文本文件與文字處理文件

由文本編輯器創建的純文本文件與由Microsoft WordiWorkOpenOffice.org之類的文字處理器建立的文檔文件之間,有明顯不同:

  • 當展現或者編輯純文本文件時,需要顯示文件所含的所有字符。起標記作用的只有那些文本文件所使用的字符集裡的控制字符,即換行符、制表位和換頁符,比如簡單常用的字符集ASCII。純文本文件常用於編寫程序和記錄配置信息;或者自定義標籤的格式如,XMLHTML
  • 文字處理器創建的文檔除了包括字符集所定義的字符外,通常還包含由文件格式指定的控制字符。這些控制字符實現了諸如粗體、斜體、字體、列、表等功能。
  • 文字處理器通常能夠編輯並導出或保存為純文本文件。但是,這樣做必須很小心。用文字處理器處理源程序、HTML代碼、配置文件和控制文件時要格外注意。否則,這些文件里就會包含那些文字處理器對應格式裡的特殊字符,文件就會出現問題。

歷史

一盒穿孔卡片,內有幾份程序

文本編輯器出現前,人們用打孔機把計算機文字打到穿孔卡片上。文字存放於裝着這些薄卡片的盒裡,可用讀卡器來閱讀。

第一種文本編輯器是一種行編輯器,它在打字機型的終端運行,這種編輯器並無在視窗和屏幕中顯示的功能。它包含一些非常短的命令(以減少打字量)。其中一條命令能夠把文件的指定部分通過打字機打印出來。編輯光標是想象中的插入點,通過特殊命令,可以把它移動到特定內容字符串所在的行。隨後,內容字符串又被擴展成正則表達式。如果想看到文件的變化,須把它打印出來。相對穿孔機來說,人們認為這種基於行的文本編輯器有革命進步。如果沒有它,用戶就需要把那些處理文本的命令打成專用的卡片,並在編輯文件時使用這些卡片。

當帶有顯示屏的計算機終端出現後,基於顯示屏的文本編輯器開始流行起來。早期有種全屏編輯器叫O26英語O26 (text editor),它是於1967年為CDC 6000系列英語CDC 6000 series機器的操作控制台而作。另一款早期的全屏編輯器是vi,誕生於20世紀70年代,至今仍內建於UnixLinux系統;不過vi的改善版本Vim也廣為人知。全屏編輯器提升視頻終端銷售量。

不同的文本編輯器

有些文本編輯器簡潔易用,只能編輯純文本文件,也有些文本編輯器功能豐富複雜,支持大量格式的文本文件。Unix和類Unix操作系統都提供了vi編輯器(或其變種),但是也有部分操作系統提供了Emacs編輯器。這兩款文本編輯器以其獨特的快捷鍵操作和可定製的工作環境而在程序員世界中廣泛應用;普通用戶則喜歡使用Microsoft Office來為文本添加格式。Windows系統同樣提供了可編輯純文本文件的記事本和類似Word寫字板提供了基本的寫作功能。也有很多人,尤其程序員更喜歡Windows下功能更豐富,更專業的其它編輯器。OS X提供的TextEdit可以編輯純文本也可以編輯多信息文本,類似DOSWordstar.

專業的文本編輯器需要在處理巨大的文字檔時保持速度的能力。例如,系統管理員須讀取很長的日誌檔;程序員須修改很大的源碼檔,或者檢查那種異乎尋常的大檔案,比如用於存儲整本詞典的文件。這需要文本編輯器優化大檔案,而非簡單把文本載入內存。

有些文本編輯器專門為提高效率和自定製環境提供了可編程的語言。這些語言大部分都是通用的腳本語言,也有一些是專門為文本編輯器設計的語言,例如Vim的Vimscript。在Emacs中,可以用Lisp程序編寫宏來控制Emacs或者自定義快捷鍵。利用這種手段,用戶可以按照自己的習慣方便的使用這些文本編輯器,但是這些方式也通常難學,不利於初學者定製自己的習慣。

還有一些可編程編輯器採用REXX作為它們的腳本語言。這些編輯器支持在屏幕的底部直接輸入命令或者REXX語句。在這類編輯器中,最典型的是Xedit的後續產品,而Xedit是IBM在VM/CMS英語VM (operating system)中的編輯器。一些vi的後續產品,如Vim,還支持摺疊以及宏,而且底部還有命令行。人們認為它們是另一類正統編輯器。

許多用於開發軟件的文本編輯器支持語法高亮自動完成源代碼,使程序更易讀寫。程序編輯器通常還允許你選取子程序或者變量,然後跳轉到它的定義部分,再跳回原來的位置。ctags等附加工具就是專門用來定位定義部分。

隨着計算機網絡發展,又誕生了可以多人協同編輯的文本編輯器,如Windows操作系統的Netpad可讓多人同時編輯或閱讀同一份文件。

典型功能

剪下、複製、貼上

文件內或文件間複製或移動。

搜尋和取代

文字編輯器提供豐富的功能來搜尋和取代文字,可以是單一檔案,也可以是打開的分頁或指定資料夾中的檔案組。多功能編輯器可用規律表達式搜尋和編輯文本或代碼。其他功能有區分大小寫、用於快速調用和自動完成的搜尋紀錄,以及在專用工具框列出結果。

文字排版

文本編輯器通常有基本排版功能,如卷行、自動縮排、行號排版、注釋排版等。

撤銷和恢復

同文字處理器一樣,文本編輯器也可撤銷和恢復。老的文本編輯器通常只支持一級的編輯歷史,只能撤銷或恢復至上一次變化;現代複雜的文本編輯器支持多級編輯歷史,能撤銷或恢復至任何歷史狀態。能夠記錄變化的次數隨編輯器而異,通常也可自定。

導入

讀取或者合併另一份文本文件的內容至當前在編輯的文件。有些文本編輯器支持插入操作系統命令的輸出。

過濾

一些先進的文本編輯器可把正在編輯的文件發送至另一工具,並把過濾後的結果回讀至這文件,如排序或計數。

參見

參考文獻

  1. ^ 第十一天:認識文字編輯器. iThome. [2019-04-04]. (原始內容存檔於2020-11-27).