1. 程式人生 > >Linux學習之十三-vi和vim編輯器及其快捷鍵

Linux學習之十三-vi和vim編輯器及其快捷鍵

man 參考 AS 選擇 都是 常用 linu ins align

vi和vim編輯器及其快捷鍵

1、vi與vim區別

它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在裏面。

vim的這些優勢主要體現在以下幾個方面:

a、多級撤消

我們知道在vi裏,按 u只能撤消上次命令,而在vim裏可以無限制的撤消。

b、易用性

vi只能運行於unix中,而vim不僅可以運行於unix,windows ,mac等多操作平臺。

c、語法加亮

vim可以用不同的顏色來加亮你的代碼。

d、可視化操作

就是說vim不僅可以在終端運行,也可以運行於x window、 mac os、 windows。

e、對vi的完全兼容

某些情況下,你可以把vim當成vi來使用。

vi和vim都是Linux中的編輯器,不同的是vim比較高級,可以視為vi的升級版本。vi使用於文本編輯,但是vim更適用於coding。

2、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自動回到命令模式。

3、vim模式

vim一共有4個模式:

正常模式 (Normal-mode)

插入模式 (Insert-mode)

命令模式 (Command-mode)

可視模式 (Visual-mode)

正常模式

啟動vim後默認處於正常模式。不論位於什麽模式,按下<Esc>鍵(有時需要按兩下)都會進入正常模式。

插入模式

在正常模式中按下i, I, a, A等鍵,會進入插入模式。

現在只用記住按i鍵會進行插入模式。在插入模式中,擊鍵時會寫入相應的字符。

命令模式

在正常模式中,按下:(英文冒號)鍵,會進入命令模式。

在命令模式中可以執行一些輸入並執行一些vim或插件提供的指令,就像在shell裏一樣。這些指令包括設置環境、文件操作、調用某個功能等等。

常用的命令有:q(退出)、q!(強制退出)、w(保存)、wq(保存並退出)。

可視模式

在正常模式中按下v, V, <Ctrl>+v,可以進入可視模式。

可視模式中的操作有點像拿鼠標進行操作,選擇文本的時候有一種鼠標選擇的即視感,有時候會很方便。

4、vi和vim的快捷鍵

技術分享圖片

技術分享圖片

參考來源:

https://blog.csdn.net/J080624/article/details/69544064

https://www.linuxidc.com/Linux/2016-06/132019.htm

Linux學習之十三-vi和vim編輯器及其快捷鍵