文字編輯器

本页使用了标题或全文手工转换,现处于澳门繁体模式
求聞百科,共筆求聞
文字編輯器:Vim

文字編輯器電腦軟件中的一種。主要用於用來編寫和檢視文字檔案。有一些特殊的文字編輯器支援增加自有的格式來豐富文件的表現形式。作業系統或者整合式開發環境通常會帶有可以檢視和編輯純文字的編輯器,可增加格式的文字編輯器通常是個人用戶或者公司在製作需要格式的檔案中使用。[1]

因為程式和程式的設定檔通常是以純文字形式儲存,所以程式設計師也需要使用純文字編輯器來編輯程式和設定檔。

純文字檔案與文書處理檔案

由文字編輯器建立的純文字檔案與由諸如Microsoft WordiWorkOpenOffice.org之類的文書處理器建立的文件檔案之間,存在着明顯的不同:

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

歷史

一盒穿孔卡片,裏面包含幾個程式。

在文字編輯器出現前,人們用打孔機把電腦文字打到穿孔卡片上。文字存放於一個裝着這樣的薄卡片的盒子裏,可以用讀卡器來閱讀它。

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

當帶有顯示器的電腦終端出現後,基於顯示器的文字編輯器開始流行起來。最早的全屏幕編輯器中,有一種叫做O26,它是於1967年為CDC 6000系列機器的操作控制台而作的。另外一個早期的全屏幕編輯器是vi。vi誕生於20世紀70年代。至今,它仍然內建於UnixLinux系統中,不過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,它可以讓多人同時協同編輯或閱讀同一個文字檔案。

典型功能

剪下、複製、貼上

大多數文字編輯器都支援檔案內的或者檔案間的複製或者移動。

文字排版

文字編輯器通常支援基本的排版功能,如卷行、自動縮排、行號排版、註釋排版等等。

復原和恢復

同文書處理器一樣,文字編輯器也支援復原和恢復。通常,尤其是老的文字編輯器,只支援一級的編輯歷史,只能復原或者恢復至上一次變化。現代的和複雜的文字編輯器支援多級的編輯歷史,這樣就能夠復原或者恢復至任何的歷史狀態。能夠記錄變化的次數隨編輯器的不同而不同,通常也是可以組態的。

匯入

讀取或者合併另一個文字檔案的內容至當前正在編輯的檔案。有些文字編輯器支援插入作業系統命令的輸出。

過濾

一些先進的文字編輯器允許你把正在編輯的檔案傳送至另一個工具,並把過濾後的結果回讀至這個檔案。例如,用這種方法可以對一些行進行排序,或者進行數學計算等。

參見

參考文獻

  1. 第十一天:認識文字編輯器. iThome. [2019-04-04].