文本編輯器
純文本文件與文字處理文件
由文本編輯器創(chuàng)建的純文本文件與由諸如Microsoft Word、iWork與OpenOffice.org之類的文字處理器創(chuàng)建的文檔文件之間,存在著明顯的不同:
當展現(xiàn)或者編輯純文本文件時,需要顯示文件所含的所有字符。起標記作用的只有那些文本文件所使用的字符集里的控制字符,即換行符、制表位和換頁符,比如簡單常用的字符集ASCII。純文本文件常用于編寫程序和記錄配置信息;或者自定義標簽的格式如,XML、HTML。
文字處理器創(chuàng)建的文檔除了包括字符集所定義的字符外,通常還包含由文件格式指定的控制字符。這些控制字符實現(xiàn)了諸如粗體、斜體、字體、列、表等功能。
文字處理器通常能夠編輯并導(dǎo)出或保存為純文本文件。但是,這樣做必須很小心。當你用文字處理器處理源程序、HTML代碼、配置文件和控制文件的時候,要格外注意。否則,這些文件里就會包含那些文字處理器對應(yīng)格式里的特殊字符,這樣你的文件就會出現(xiàn)問題。
歷史
一盒穿孔卡片,里面包含幾個程序。
在文本編輯器出現(xiàn)前,人們用打孔機把計算機文字打到穿孔卡片上。文字存放于一個裝著這樣的薄卡片的盒子里,可以用讀卡器來閱讀它。
第一個文本編輯器是一種行編輯器,它運行在打字機型的終端上,這種編輯器并不具備在窗口和屏幕中顯示的功能。它包含了一些非常短的命令(為了減少打字量)。其中一個命令能夠把文件的指定部分通過打字機打印出來。編輯光標是想象中的一個插入點,通過特殊命令,可以把它移動到特定內(nèi)容字符串所在的行。隨后,內(nèi)容字符串又被擴展成正則表達式。如果想看到文件的變化,你需要把它打印出來。相對于穿孔機來說,人們認為這種基于行的文本編輯器具有革命性的進步。如果沒有它,用戶就需要把那些處理文本的命令打成專用的卡片,并在編輯文件時使用這些卡片。
當帶有顯示屏的計算機終端出現(xiàn)后,基于顯示屏的文本編輯器開始流行起來。最早的全屏編輯器中,有一種叫做O26(英語:O26 (text editor)),它是于1967年為CDC 6000系列(英語:CDC 6000 series)機器的操作控制臺而作的。另外一個早期的全屏編輯器是vi。vi誕生于20世紀70年代。至今,它仍然內(nèi)置于Unix和Linux系統(tǒng)中,不過vi也有一個改善的版本Vim也十分為人所知。全屏編輯器對視頻終端的銷售起到了促進的作用。
不同的文本編輯器
有些文本編輯器簡潔易用,只能編輯純文本文件,也有些文本編輯器功能豐富復(fù)雜,支持大量格式的文本文件。Unix和類Unix操作系統(tǒng)都提供了vi編輯器(或者是它的變種),但是也有部分操作系統(tǒng)提供了Emacs編輯器。這兩個文本編輯器以其獨特的快捷鍵操作和可定制的工作環(huán)境而在程序員世界中廣泛應(yīng)用;普通用戶則喜歡使用Office來為文本添加格式。Windows系統(tǒng)同樣提供了可編輯純文本文件的記事本和一個類似于Word的寫字板提供了基本的寫作功能。也有很多人,尤其是程序員更喜歡Windows下功能更豐富,更專業(yè)的其它編輯器。OS X所提供的TextEdit可以編輯純文本也可以編輯多信息文本,類似于DOS中的Wordstar.
專業(yè)的文本編輯器需要在處理巨大的文本時保持速度的能力。例如,系統(tǒng)管理員需要讀取很長的日志文件;程序員需要修改很大的源代碼文件,或者檢查那種異乎尋常的大文件,比如用于存儲整本詞典的文件。這需要文本編輯器對大文本進行特殊的優(yōu)化,而不是簡單的把文本載入內(nèi)存。
有些文本編輯器專門為提高效率和自定制環(huán)境提供了可編程的語言。這些語言大部分都是通用的腳本語言,也有一些是專門為文本編輯器設(shè)計的語言,例如Vim的Vimscript。在Emacs中,可以用Lisp程序編寫宏來控制Emacs或者自定義快捷鍵。利用這種手段,用戶可以按照自己的習(xí)慣方便的使用這些文本編輯器,但是這些方式也通常難學(xué),不利于初學(xué)者定制自己的習(xí)慣。
還有一些可編程編輯器采用REXX作為它們的腳本語言。這些編輯器支持在屏幕的底部直接輸入命令或者REXX語句。在這類編輯器中,最具代表性的是Xedit的后續(xù)產(chǎn)品,而Xedit是IBM在VM/CMS(英語:VM (operating system))中的編輯器。一些vi的后續(xù)產(chǎn)品,如Vim,還支持折疊以及宏,而且在底部還有命令行。人們認為它們是另一類正統(tǒng)編輯器。
許多用于開發(fā)軟件的文本編輯器支持源代碼的語法高亮和自動完成,這樣就能夠使得程序更容易讀寫。程序編輯器通常還允許你選中一個子程序或者變量,然后跳轉(zhuǎn)到它的定義部分,再跳回原來的位置。像ctags這樣的附加工具就是專門用來定位定義部分的。
隨著計算機網(wǎng)絡(luò)的發(fā)展,又誕生了可以多人協(xié)同編輯的文本編輯器,如Windows操作系統(tǒng)下的Netpad,它可以讓多人同時協(xié)同編輯或閱讀同一個文本文件。
典型功能
剪切、復(fù)制、粘貼
大多數(shù)文本編輯器都支持文件內(nèi)的或者文件間的復(fù)制或者移動。
文字排版
文本編輯器通常支持基本的排版功能,如卷行、自動縮排、行號排版、注釋排版等等。
撤銷和恢復(fù)
同文字處理器一樣,文本編輯器也支持撤銷和恢復(fù)。通常,尤其是老的文本編輯器,只支持一級的編輯歷史,只能撤銷或者恢復(fù)至上一次變化。現(xiàn)代的和復(fù)雜的文本編輯器支持多級的編輯歷史,這樣就能夠撤銷或者恢復(fù)至任何的歷史狀態(tài)。能夠記錄變化的次數(shù)隨編輯器的不同而不同,通常也是可以配置的。
導(dǎo)入
讀取或者合并另一個文本文件的內(nèi)容至當前正在編輯的文件。有些文本編輯器支持插入操作系統(tǒng)命令的輸出。
過濾
一些先進的文本編輯器允許你把正在編輯的文件發(fā)送至另一個工具,并把過濾后的結(jié)果回讀至這個文件。例如,用這種方法可以對一些行進行排序,或者進行數(shù)學(xué)計算等。
參見
文本編輯器比較
文本文件
編輯器之戰(zhàn)
十六進制編輯器
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報
{{_reply.time}}