配圖為UCI設(shè)計(jì)公司公司案例
vi編輯器是Unix系統(tǒng)中的一款文本編輯器,它的設(shè)計(jì)極具代表性,其中包括多種設(shè)計(jì)原則、特點(diǎn)和發(fā)展歷程。本文將從以下四個(gè)方面對(duì)其進(jìn)行詳細(xì)闡述:
vi編輯器的核心是一個(gè)內(nèi)置于Unix系統(tǒng)的可視化文本編輯器,具有三種模式的輸入方式。分別是命令模式(command mode)、插入模式(insert mode)和底行模式(ex mode)。命令模式用于對(duì)文本進(jìn)行操作,插入模式用于插入文本內(nèi)容,而底行模式用于執(zhí)行一些高級(jí)功能操作。vi編輯器不僅內(nèi)置于Unix系統(tǒng)中,而且運(yùn)行速度快,缺乏與其他編輯器相似的多個(gè)按鍵組合,是最輕量級(jí)的文本編輯器之一。
vi編輯器的另一個(gè)重要設(shè)計(jì)原則是,它在編輯器中使用單個(gè)緩沖區(qū)的概念,所有的修改都保存在此緩沖區(qū);在編輯完成后再將其寫入文件。以這種方式實(shí)現(xiàn)的好處是,任何時(shí)候都可以輕松地重做和撤銷編輯操作。此外,用戶可以非常方便地在文本中導(dǎo)航。
作為一種全面而強(qiáng)大的編輯器,vi 的基本設(shè)計(jì)很好地實(shí)現(xiàn)了其簡(jiǎn)單和通用的目標(biāo),以及完整、可擴(kuò)展性和可伸縮性。
vi編輯器的設(shè)計(jì)原則是采用模塊化的設(shè)計(jì)結(jié)構(gòu),即將編輯行為分解為更小和更簡(jiǎn)單的部分。vi推廣了模塊化思想,模塊化思想允許編輯器執(zhí)行更復(fù)雜的任務(wù),從而吸引了更廣泛的用戶以及使用方式。這種模塊化設(shè)計(jì)還使得 vi 更容易擴(kuò)展,以滿足更多用戶的需求。
vi通過定義輕型的基本命令,使編輯器更加快速和可控。在命令模式中,用戶可以使用簡(jiǎn)單的按鍵組合執(zhí)行操作,而不用使用鼠標(biāo);插入模式允許用戶以與其他文本編輯器相同的方式輸入文本,但在必要時(shí)可以輕松地切換回命令模式。這簡(jiǎn)化了熟練用戶的工作流程,減少了他們必須關(guān)注的內(nèi)容。同時(shí),它還減小了用戶必須記住的指令數(shù)目。
vi編輯器的鮮明特點(diǎn)是靈活性。vi的基本命令可以執(zhí)行不同的行為,這些行為可以在熟練的用戶中進(jìn)行組合。用戶可以更改其工作流程,并根據(jù)自己的喜好配置編輯器。vi還具有一個(gè)開放的插件系統(tǒng),允許其他用戶為編輯器添加新的功能。
另一個(gè)重要的特點(diǎn)是,vi編輯器在類Unix系統(tǒng)間具有很高的可移植性,并且支持許多編輯器中普遍使用的基本編輯操作。因此,vi是一種非常強(qiáng)大的文本編輯器,廣泛應(yīng)用于類Unix系統(tǒng)和其它計(jì)算機(jī)文化中。
vi編輯器的歷史可以追溯到1976年,最初由比爾·喬伊(Bill Joy)在加州大學(xué)伯克利分校開發(fā)。當(dāng)時(shí),編輯器的命名方式是“ex”(“可擴(kuò)展的編輯器”)。隨著時(shí)間的推移,該編輯器不斷發(fā)展并獲得越來越多的用戶。在幾年后,它逐漸被擴(kuò)展為現(xiàn)代vi編輯器的原型。
vi編輯器從那時(shí)起就不斷發(fā)展。根據(jù)使用者對(duì)編輯器的反饋,不斷增加新的特點(diǎn),以及為用戶熟練使用 vim 提供各種新的工具。這些不斷增加的特點(diǎn)包括:基本命令的擴(kuò)展、編輯器配件、用戶界面改進(jìn)、改進(jìn)的文本搜索、模式匹配等。這些變化在vi的不同版本之間有所不同。
總結(jié):
總的來看,vi是一款很好的文本編輯器。它的設(shè)計(jì)試圖采用最少和最有效的指令集來完成編輯器的任務(wù)。即使在現(xiàn)代編輯器擁有各種新功能的情況下,也有很多現(xiàn)代開發(fā)者將其視為優(yōu)雅且簡(jiǎn)潔的編輯器。在熟練掌握 vi 以及 vim(vi 的改進(jìn)版本)之后,用戶經(jīng)常能夠超越其他編輯器的速度和可靠性。
vi編輯器的模塊化方法為其他編輯器的設(shè)計(jì)提供了一條新的道路,尤其 對(duì)于開源編輯器的設(shè)計(jì)來說更是如此。這一方法通過將整個(gè)編輯過程分解為多個(gè)小、獨(dú)立的部分來實(shí)現(xiàn),這些部分可以以自己的簡(jiǎn)單方式進(jìn)行組合。這種簡(jiǎn)單明了的思路仍然在繼續(xù),并將vi設(shè)計(jì)的一部分作為概念強(qiáng)化到了其他文本編輯器的設(shè)計(jì)之中。
配圖為UCI設(shè)計(jì)公司公司案例
總監(jiān)微信咨詢 舒先生
業(yè)務(wù)咨詢 付小姐
業(yè)務(wù)咨詢 張小姐