文本編輯器
用作編寫普通文字的應用軟體
文本編輯器(或稱文字編輯器)是用作編寫普通文字的應用軟體,它與文檔編輯器(或稱文字處理器)不同之處在於它並非用作桌面排版(例如文檔格式處理)。它常用來編寫程序的源代碼。
常見系統下的文本編輯
各系統下的使用
文本編輯器
2. Mac OS X 在磁碟下的應用程序文件夾或Launchpad(Mac OS X Lion 10.7或以上)中找到文本編輯.app(源名稱:TextEdit.app),打開后就可以新建文稿並實施編輯。文本編輯支持多信息文本格式(.rtf)、帶附件的多信息文本格式(.rtfd)、網頁(.html)、Web歸檔(.webarchive)、OpenDocument 文本(.odt)、Word 2007 格式(.docx)、Word 2003 格式(.xml)、Word 1997 格式(.doc)和純文本(.txt)文件的製作,以及以上文件的便攜文稿格式(.pdf)的導出。文本編輯可以打開幾乎所有能與Mac OS X兼容的文稿格式。
在一個文本文件中查找一個詞或者一個字元串,把一個字元串替換成另一個字元串。可採取各種方式進行:全局查找替換、條件查找替換、無條件查找替換。
大多數文本編輯器都支持文件內的或者文件間的複製或者移動。
文本編輯器通常支持基本的排版功能,如卷行、自動縮排、行號排版、註釋排版等等。
同文字處理器一樣,文本編輯器也支持撤銷和恢復。通常,尤其是老的文本編輯器,只支持一級的編輯歷史,只能撤銷或者恢復至上一次變化。現代的和複雜的文本編輯器支持多級的編輯歷史,這樣就能夠撤銷或者恢復至任何的歷史狀態。能夠記錄變化的次數隨編輯器的不同而不同,通常也是可以配置的。
讀取或者合併另一個文本文件的內容至當前正在編輯的文件。有些文本編輯器支持插入操作系統命令的輸出。
一些先進的文本編輯器允許你把正在編輯的文件發送至另一個工具,並把過濾后的結果回讀至這個文件。例如,用這種方法可以對一些行進行排序,或者進行數學計算等。
一盒穿孔卡片,裡面包含幾個程序。
在文本編輯器出現前,人們用打孔機把計算機文字打到穿孔卡片上。文字存放於一個裝著這樣的薄卡片的盒子里,可以用讀卡器來閱讀它。
第一個文本編輯器是一種行編輯器,它運行在打字機型的終端上,這種編輯器並不具備在窗口和屏幕中顯示的功能。它包含了一些非常短的命令(為了減少打字量)。其中一個命令能夠把文件的指定部分通過打字機列印出來。編輯游標是想象中的一個插入點,通過特殊命令,可以把它移動到特定內容字元串所在的行。隨後,內容字元串又被擴展成正則表達式。如果想看到文件的變化,你需要把它列印出來。相對於穿孔機來說,人們認為這種基於行的文本編輯器具有革命性的進步。如果沒有它,用戶就需要把那些處理文本的命令打成專用的卡片,並在編輯文件時使用這些卡片。
當帶有顯示屏的計算機終端出現后,基於顯示屏的文本編輯器開始流行起來。最早的全屏編輯器中,有一種叫做O26,它是於1967年為CDC 6000系列機器的操作控制台而作的。另外一個早期的全屏編輯器是vi。vi誕生於20世紀70年代,至今,它仍是Unix和Linux的標準編輯器。全屏編輯器對視頻終端的銷售起到了促進的作用。
本表比較各編輯器的常規信息:
歸屬 | 首次公開發布的時間 | 最新的穩定版本 | 售價 (USD) | 發布協議 | |
GNU Emacs | GNU工程 | 1975年 | 23.3 | 免費 | GPL |
nvi | Bill Joy | 1976年 | 1.79 | 免費 | BSD許可證 |
記事本 | 微軟 | 1985年 | 6.0 | 屬於Windows系統 | 專有 |
vim | Bram Moolenaar | 1988年 | 7.3 | 免費 | GPL-兼容 |
Alphatk | 原屬Pete Keleher,現歸Alpha-development cabal | 1990年 | 8.0 | $ 40,共享軟體 | 內核不開源,含有BSD組件 |
XEmacs | Lucid Inc. | 1991年 | 21.0 | 免費 | GPL |
TextPad | Helios Software Solutions | 1992年 | 4.7.3 | $ 29 | 共享軟體 |
BBEdit | Rich Siegel | 1992年4月 | 8.2.3 | $ 199;教學使用$ 49 | 專有 |
JOE | Joseph Allen | 1992年(?) | 3.3 | 免費 | GPL |
Acme | Rob Pike | 1993年 | 隨第4版Plan 9發布 | 免費 | LPL (OSI批准) |
UltraEdit | IDM Computer Solutions | 1994年 | 12.00 | $ 40 | 專有 |
Zeus | Xidicone P/L | 1995年 | 3.95f | $ 39.95 | 專有 |
EditPlus | ES-Computing | 1998年3月20日 | 3.20 | $ 35 / 人 | 專有 |
jEdit | Slava Pestov | 1998年(?) | 4.2 | 免費 | GPL |
Alphatk | Vince Darley | 1999年 | 8.3.3 | $ 40 | 專有,含有BSD組件 |
Bluefish | Bluefish Dev Team | 1999年 | 1.0.4 | 免費 | GPL |
ConTEXT | Eden Kirin | 1999年 | 0.98.2 | 免費 | 專有 |
Nano | GNU工程 | 1999年 | 2.0.9 | 免費 | GPL |
gedit | GNU工程 | 2000年 | 2.16.2 | 免費 | GPL |
KWrite | KDE | 2000年 | 4.5.3 | 免費 | GPL |
Kate | KDE | 2000年12月 | 3.5.3 | 免費 | GPL |
PSPad | Jan Fiala | 2002年 | 4.5.2 | 免費 | 專有 |
AkelPad | Aleksander Shengalts、Alexey Kuznetsov和其他貢獻者 | 2003年 | 4.5.4 | 免費 | BSD許可證 |
AptEdit | Brother Technology | 2003年 | 4.8.1 | $ 44.95 | 專有 |
SubEthaEdit | TheCodingMonkeys | 2003年 | 2.1.1 | $ 35商業使用 | 專有 |
Notepad++ | 侯今吾 | 2003年11月25日 | 6.1 | 免費 | GPL |
Professional Notepad | ATech Group | 2004年 | 2.9 | $ 18 | 專有 |
Rainbow Text Editor | 陳基順(Chen Chi-Shun) | 2004年11月 | 3.8 | 免費 | 專有 |
Notepad2 | Florian Balmer | 2004年4月 | 4.2.25 | 免費 | GPL |
MadEdit | madedit | 2006年 | 0.2.9 | 免費 | GPL |
Netpad | 原屬NetSoft Inc. | 2008年 | 1.0.3 | 免費 | GPL |
Crimson Editor | Ingyu Kang | ? | 3.7 | 免費 | 開源,使用證不明 |
Pico | 華盛頓大學 | ? | 4.64 | 免費 | 專有 |
歸屬 | 首次公開發布的時間 | 最新的穩定版本 | 售價 (USD) | 發布協議 |
有些文本編輯器短小精悍,也有些文本編輯器提供了豐富、複雜的功能。例如,Unix和類Unix操作系統都提供了vi編輯器(或者是它的變種),但是也有部分操作系統提供了Emacs編輯器。Windows系統提供了非常簡單的記事本,但是很多人,尤其是那些程序員們卻更喜歡Windows下功能更豐富的其它編輯器。在Apple Macintosh的經典Mac OS中,包含了SimpleText,後來,TextEdit替代了它。有些編輯器支持兩種操作模式,既可以當做文本編輯器,又可以當做文字處理器,WordStar就是一例。
專業的計算機用戶使用的文本編輯器往往不限制打開文件的大小。這樣的編輯器在編輯大文件時,啟動仍然很快,而且它們還能夠編輯超過內存大小的文件。而簡單的文本編輯器通常直接把文件讀至內存。這樣在處理較大文件時速度較慢,對於更大的文件,則乾脆無法處理。
專業的計算機需要處理大文件的能力。例如,系統管理員需要讀取很長的日誌文件;程序員需要修改很大的源代碼文件,或者檢查那種異乎尋常的大文件,比如用於存儲整本詞典的文件。
有些文本編輯器包含特殊的計算機語言,利用這種語言,能夠對這種進行定製(可編程編輯器)。例如,可以用Lisp程序來定製Emacs。利用這種手段,用戶通常就能夠把某種編輯器的快捷鍵組合以及其它的一些特性模擬成另一種編輯器的樣子,這樣,用戶就沒有必要學習這種編輯器的命令組合了。
還有一些可編程編輯器採用REXX作為它們的腳本語言。這些編輯器支持在屏幕的底部直接輸入命令或者REXX語句,人們通常認為這些編輯器是正統的編輯器。在這類編輯器中,最具代表性的是Xedit的後續產品,而Xedit是IBM在VM/CMS中的編輯器。一些vi的後續產品,如Vim,還支持摺疊以及宏,而且在底部還有命令行。人們認為它們是另一類正統編輯器。
許多用於開發軟體的文本編輯器支持源代碼的語法高亮和自動完成,這樣就能夠使得程序更容易讀寫。程序編輯器通常還允許你選中一個子程序或者變數,然後跳轉到它的定義部分,再跳回原來的位置。像ctags這樣的附加工具就是專門用來定位定義部分的。
隨著計算機網路的發展,又誕生了可以多人協同編輯的文本編輯器,如Windows操作系統下的Netpad,它可以讓多人同時協同編輯或閱讀同一個文本文件。