區別:1、vi中按u只能撤銷上次命令,而vim中可以無限制的撤消命令;2、vi只能運行於unix中,而vim可以運行於多種操作平台;3、vim中有語法加亮功能,vi中沒有;4、vi支援3個模式,而vim支援4個模式等。
本教學操作環境:CentOS 6系統、Dell G3電腦。
它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅相容於vi的所有指令,而且還有一些新的特性在裡面。
vim的這些優勢主要體現在以下幾個面向:
1、多層撤消
我們知道在vi裡,按u只能撤銷上次命令,而在vim裡可以無限制的撤銷。
2、易用性
vi只能運行於unix中,而vim不僅可以運行於unix,windows ,mac等多操作平台。
3、語法加亮
vim可以用不同的顏色來加亮你的程式碼。
4、視覺化操作
就是說vim不僅可以在終端機上運行,也可以運行在x window、 mac os、windows。
5、對vi的完全相容
某些情況下,你可以把vim當成vi來使用。
vi和vim都是Linux中的編輯器,不同的是vim比較高級,可以視為vi的升級版本。 vi適用於文字編輯,但vim比較適用於coding。
VI模式
vi有3個模式:命令列模式(command mode/一般模式)、文字輸入模式( input mode/編輯模式)、末行模式(last line mode/指令列命令模式)。
命令列模式(command mode/一般模式)
任何時候,不管使用者處於何種模式,只要按一下「ESC」鍵,即可使Vi進入命令列模式;我們在shell環境(提示字元為$)下輸入啟動Vi命令,進入編輯器時,也是處於該模式下。
在這個模式下,使用者可以輸入各種合法的Vi指令,用於管理自己的文件。此時從鍵盤上輸入的任何字元都被當作編輯命令來解釋,若輸入的字元是合法的Vi命令,則Vi在接受使用者命令之後完成對應的動作。但要注意的是,所輸入的命令並不會在螢幕上顯示出來。若輸入的字元不是Vi的合法命令,Vi會響鈴警報。
文字輸入模式(input mode/編輯模式)
# 在指令模式下輸入插入指令i(insert)、附加指令a( append)、開啟指令o(open)、修改指令c(change)、取代指令r或取代指令s都可以進入文字輸入模式。在該模式下,使用者輸入的任何字元都會被Vi當做檔案內容保存起來,並將其顯示在螢幕上。在文字輸入過程中,若想回到指令模式下,按”ESC”鍵即可。
末行模式 (last line mode/指令列指令模式)
末行模式也稱為ex轉義模式。
Vi和Ex編輯器的功能是相同的,二者主要差異是使用者介面。在Vi中,指令通常是單一鍵,例如i、a、o等;而在Ex中,指令是以回車鍵結束的正文行。 Vi有一個專門的「轉義」指令,可存取很多面向行的Ex指令。
在指令模式下,使用者按下「:」鍵即可進入末行模式下,此時Vi會在顯示視窗的最後一行(通常也是螢幕的最後一行)顯示一個「:」作為末行模式的提示符,等待使用者輸入命令。多數文件管理指令都是在此模式下執行的(如把編輯緩衝區的內容寫到文件中等)。末行指令執行完後,Vi自動回到指令模式。
VIM模式
#vim一共有4個模式:
#正常模式
啟動vim後預設為正常模式。不論位於什麼模式,按下鍵(有時需要按兩下)都會進入正常模式。
插入模式
在正常模式中按下i, I, a, A等鍵,會進入插入模式。 現在只用記住按i鍵會進行插入模式。在插入模式中,按鍵時會寫入對應的字元。指令模式
在正常模式中,按下:(英文冒號)鍵,會進入指令模式。在命令模式中可以執行一些輸入並執行一些vim或外掛程式提供的指令,就像在shell裡一樣。這些指令包括設定環境、檔案操作、呼叫某個功能等等。
常用的指令有:q(退出)、q!(強制退出)、w(儲存)、wq(儲存並退出)。
視覺模式
在正常模式中按下v, V, <Ctrl> v
,可以進入視覺模式。
視覺模式中的操作有點像拿滑鼠來操作,選擇文字的時候有一種滑鼠選擇的即視感,有時會很方便。
相關推薦:《Linux影片教學》
以上是linux vi與vim的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!