Vi和Vim的區別和聯絡

2020-07-16 10:04:46
我們知道,Vi 編輯器是 Unix 系統最初的編輯器。它使用控制台圖形模式來模擬文字編輯視窗,允許檢視檔案中的行、在檔案中移動、插入、編輯和替換文字。

儘管 Vi 可能是世界上複雜的編輯器(討厭它的人是這麼認為的),但其擁有的大量特性使其成為 Unix 管理員多年來的支柱性工具。

在 GNU 專案中,程式設計師在將 Vi 編輯器移植到開源世界的同時,決定對其作一些改進。由於改進後的 Vi 不再是以前 Unix 中的那個原始的 Vi 編輯器了,開發人員也就將它重新命名為“Vi improved”,也就是 Vim。

GNU 專案,英文全稱為“GNU is Not Unix”,簡單的說,就是一個開發類 Unix 作業系統的專案,GNU 作業系統是由 GNU 軟體包及其第三方的免費軟體包組成,所以其最大的特點就是免費。

因此可以這樣說,Vim 是由 Vi 發展演變過程的文字編輯器,因其具有語法高亮顯示、多視窗編輯、程式碼折疊、支援外掛等功能,已成為眾多 Linux 發行版本的標配,本教學強烈建議大家系統地學習 Vim

有讀者可能會問,Linux 系統中的文字編輯器有很多,例如 emacs、pico、nano、joe 等等,為什麼一定要學 Vim 呢?

推薦使用 Vim 文字編輯器的原因有很多,比如說:
  • 幾乎所有的Linux 發行版都內嵌有 Vim 文字編輯器,而其他的編輯器則不一定存在;
  • 在使用 Linux 系統過程中,很多軟體的編輯介面都會預設呼叫 Vim 檔案編輯器,例如 crontab、Visudo、edquota等命令;
  • Vim具有編輯程式的能力,會主動利用不同的字型顏色辨別語法的正確性,方便程式設計;
  • 使用 Vim 文字編輯器,編輯速度會更快。

所有原因中,最主要的還是第 2 條,就是因為有太多 Linux 命令會預設呼叫 Vim 作為編輯資料的介面,所以建議初學者學會 Vim。