1、Vi與Vim簡介 程序員
vi編輯器是UNIX早期自帶的文本編輯器,功能簡單,不支持語法顏色。shell
Vim是從 VI 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用,和Emacs並列成爲類Unix系統用戶最喜歡的文本編輯器。編程
Vim是自由軟件。Vim廣泛被推崇爲類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不一樣變體。1999 年Emacs被選爲Linuxworld文本編輯分類的優勝者,Vim屈居第二。但在2000年2月Vim贏得了Slashdot Beanie的最佳開放源代碼文本編輯器大獎,又將Emacs推至二線, 總的來看, Vim和Emacs在文本編輯方面都是很是優秀的。 vim
咱們知道,Vi 編輯器是 Unix 系統最初的編輯器。它使用控制檯圖形模式來模擬文本編輯窗口,容許查看文件中的行、在文件中移動、插入、編輯和替換文本。儘管 Vi 多是世界上覆雜的編輯器(討厭它的人是這麼認爲的),但其擁有的大量特性使其成爲 Unix 管理員多年來的支柱性工具。windows
在 GNU 項目中,程序員在將 Vi 編輯器移植到開源世界的同時,決定對其做一些改進。因爲改進後的 Vi 再也不是之前 Unix 中的那個原始的 Vi 編輯器了,開發人員也就將它重命名爲「Vi improved」,也就是 Vim。app
GNU 項目,英文全稱爲「GNU is Not Unix」,簡單的說,就是一個開發類 Unix 操做系統的項目,GNU 操做系統是由 GNU 軟件包及其第三方的免費軟件包組成,因此其最大的特色就是免費。編輯器
所以能夠這樣說,Vim 是由 Vi 發展演變過程的文本編輯器,因其具備語法高亮顯示、多視窗編輯、代碼摺疊、支持插件等功能,已成爲衆多 Linux 發行版本的標配,本教程強烈建議你們系統地學習 Vim。
有讀者可能會問,Linux 系統中的文本編輯器有不少,例如 emacs、pico、nano、joe 等等,爲何必定要學 Vim 呢?
推薦使用 Vim 文本編輯器的緣由有不少,好比說:工具
全部緣由中,最主要的仍是第 2 條,就是由於有太多 Linux 命令會默認調用 Vim 做爲編輯數據的接口,因此建議初學者學會 Vim。學習
簡單的來講, vi 是老式的字處理器,不過功能已經很齊全了,可是仍是有能夠進步的地方。 vim 則能夠說是程序開發者的一項很好用的工具。連 vim 的官方網站 (http://www.vim.org) 本身也說 vim 是一個程序開發工具而不是文字處理軟件。開發工具
vim 鍵盤圖:
2、Vi和Vim的區別
一、在vi編輯器中,按u只能撤消上次命令,而在vim裏能夠無限制的撤消。
二、vi編輯器只能運行於unix中,而vim不只能夠運行於unix,還可用於windows、mac等多操做平臺。
三、vim能夠用不一樣的顏色來加亮你的代碼。
四、vim不只能夠在終端運行,也能夠運行於windows、 mac os、 windows。
五、能夠把vim當成vi來使用。
小結:vi和vim都是Linux中的編輯器,不一樣的是vim比較高級,能夠視爲vi的升級版本。vi使用於文本編輯,可是vim更適用於coding。
3、Vi與Vim模式
一、Vi模式
(1)、命令行模式 (command mode/通常模式)
任什麼時候候,無論用戶處於何種模式,只要按一下「ESC」鍵,便可使Vi進入命令行模式;咱們在shell環境(提示符爲$)下輸入啓動vi命令,進入編輯器時,也是處於該模式下。
在該模式下,用戶能夠輸入各類合法的vi命令,用於管理本身的文檔。此時從鍵盤上輸入的任何字符都被當作編輯命令來解釋,若輸入的字符是合法的Vi命令,則vi在接受用戶命令以後完成相應的動做。但需注意的是,所輸入的命令並不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,vi會響鈴報警。
(2)、文本輸入模式 (input mode/編輯模式)
在命令模式下輸入插入命令i(insert)、附加命令a (append)、打開命令o(open)、修改命令c(change)、取代命令r或替換命令s均可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi當作文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程當中,若想回到命令行模式下,按」ESC」鍵便可。
(3)、末行模式 (last line mode/指令列命令模式)
末行模式也稱轉義模式。 vi和Ex編輯器的功能是相同的,兩者主要區別是用戶界面。在vi中,命令一般是單個鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結束的正文行。vi有一個專門的「轉義」命令,可訪問不少面向行的Ex命令。
在命令模式下,用戶按「:」鍵便可進入末行模式下,此時vi會在顯示窗口的最後一行(一般也是屏幕的最後一行)顯示一個「:」做爲末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩衝區的內容寫到文件中等)。末行命令執行完後,vi自動回到命令模式。
二、VIM模式
(1)、正常模式 (Normal-mode)
啓動vim後默認處於正常模式(即命令行模式)。不論位於什麼模式,按下<Esc>鍵(有時須要按兩下)都會進入正常模式。
正常模式通常用於瀏覽文件,也包括一些複製、粘貼、刪除等操做。這時擊鍵時,通常的鍵/鍵組合會被當成功能鍵,而不會鍵入對應的字符。在這個模式下,咱們可能經過鍵盤在文本中跳來跳去,跳動的範圍從小到大是字符、單詞、行、句子、段落和屏幕。
(2)、插入模式 (Insert-mode)
在正常模式中按下i, a, o, I,A,O鍵,會進入插入模式。如今只用記住按i鍵會進行插入模式。在插入模式中,擊鍵時會寫入相應的字符。
(3)、命令模式 (Command-mode)
在正常模式中,按下:(英文冒號)鍵,會進入命令模式。
在命令模式中能夠執行一些輸入並執行一些vim或插件提供的指令,就像在shell裏同樣。這些指令包括設置環境、文件操做、調用某個功能等等。
(4)、可視模式 (Visual-mode)
在正常模式中按下v,V,<ctrl>+v,能夠進入可視模式。可視模式中的操做有點像拿鼠標進行操做,選擇文本的時候有一種鼠標選擇的即視感,有時候會很方便。
4、安裝Vim
一、在命令行敲入「vi」後按"tab"鍵,能夠看到目前系統中只安裝了vi和vim.tiny。vim是從vi發展而來的一個文本編輯器,功能更強大。而vim.tiny是vim的精簡版,因此,安裝vim勢在必行。
二、普通用戶下輸入命令:sudo apt-get install vim-gtk
三、在後面一直輸y,直到安裝完畢,再次輸入vi按tab,能夠看見vim