Linux環境下vi/vim編輯器常用命令


轉自:https://www.cnblogs.com/jacktian-it/p/9876519.html 

 

使用vi文本編輯器

配置文件是Linux系統中的顯著特征之一,其作用有點類似於Windows系統中的注冊表,只不過注冊表是集中管理,而配置文件采用了分散的自由管理方式。那么如何使用Linux字符操作界面中的文本編輯器——vi,以便更好地管理和維護系統中的各種配置文件。

vi是一個功能強大的全屏幕文本編輯工具,一直以來都作為類UNIX操作系統的默認文本編輯器。vim是vi編輯器的增強版本,在vi編輯器的基礎上擴展了很多實用的功能,但是習慣上也將vim稱為vi。

 

1、vi/vim的使用

vi是工作在字符終端環境下的全屏幕編輯器,因此編輯界面相對比較簡單,並沒有為用戶提供鼠標操作和菜單系統,而是通過按鍵命令實現相應的編輯和操作功能。在vi編輯界面中可以使用三種不同的工作模式。分別是命令模式(Command mode),輸入模式(Insert mode)和末行模式(Last line mode)。當然,在不同的模式中能夠對文件進行的操作也不相同。

 

命令模式:

用戶剛剛啟動 vi/vim,便進入了命令模式。

此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符。比如我們此時按下i,並不會輸入一個字符,i被當作了一個命令。

以下是常用的幾個命令:

  • i 切換到輸入模式,以輸入字符。

  • x 刪除當前光標所在處的字符。

  • : 切換到底線命令模式,以在最底一行輸入命令。

若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。

命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。

輸入模式

在命令模式下按下i就進入了輸入模式。

在輸入模式中,可以使用以下按鍵:

  • 字符按鍵以及Shift組合,輸入字符

  • ENTER,回車鍵,換行

  • BACK SPACE,退格鍵,刪除光標前一個字符

  • DEL,刪除鍵,刪除光標后一個字符

  • 方向鍵,在文本中移動光標

  • HOME/END,移動光標到行首/行尾

  • Page Up/Page Down,上/下翻頁

  • Insert,切換光標為輸入/替換模式,光標將變成豎線/下划線

  • ESC,退出輸入模式,切換到命令模式

  •  

末行模式

在命令模式下按下:(英文冒號)就進入了末行模式。

末行模式可以輸入單個或多個字符的命令,可用的命令非常多。

在底線命令模式中,基本的命令有(已經省略了冒號):

  • q 退出程序

  • w 保存文件

按ESC鍵可隨時退出末行模式。

簡單的說,我們可以將這三個模式用以下流程圖來進行表示:

2、vi/vim按鍵說明

在vi編輯器的命令模式中,可以輸入特定的按鍵(稱之為vi操作命令,注意區別於Linux系統命令)進行操作。主要包括模式切換、光標移動、復制、刪除、粘貼、文件內容查找及保存和退出等操作。

 

模式切換的方法
a 在當前光標位置之后插入內容。
A 在光標所在行的末尾(行尾)插入內容。
i 在當前光標位置之前插入內容。
I 在光標所在行的開頭(行首)插入內容。
o 在光標所在行的后面插入一個新行。
O 在光標所在行的前面插入一個新行。
移動光標方法
光標方向的移動 使用鍵盤中的四個方向鍵↑、↓、←、→完成相應的光標移動。
+ 光標移動到非空格符的下一行
- 光標移動到非空格符的上一行
H 光標移動到這個屏幕的最上方那一行的第一個字符
M 光標移動到這個屏幕的中央那一行的第一個字符
L 光標移動到這個屏幕的最下方那一行的第一個字符
n<Enter> n 為數字。光標向下移動 n 行(常用)
翻頁移動 使用Page Down鍵或Ctrl+F組合鍵向下翻動一整頁內容。
使用Page Up鍵或Ctrl+B組合鍵向上翻動一整頁內容。
使用Page Down鍵和Page Up鍵同樣適用於vi的輸入模式。
行內快速跳轉 按Home鍵或^鍵、數字0鍵將光標快速跳轉到本行的行首。
按End鍵或$鍵將光標快速跳轉到本行的行尾。
行間快速跳轉 使用按鍵命令1G或者gg可跳轉到文件內容的第1行。
使用按鍵命令G可跳轉到文件的最后一行。
使用按鍵命令#G可跳轉到文件中的第#行(其中“#”號用具體數字替換)。
復制 yy 復制光標所在的那一行。
nyy n 為數字。復制光標所在的向下 n 行。
yG 復制光標所在行到最后一行的所有數據。
y1G 復制光標所在行到第一行的所有數據。
y0 復制光標所在的那個字符到該行行首的所有數據。
y$ 復制光標所在的那個字符到該行行尾的所有數據。
粘貼 按p鍵即可將緩沖區中的內容粘貼到光標位置處之后。
按P鍵則會粘貼到光標位置處以前。
刪除 使用x鍵或Del按鍵刪除光標處的單個字符。
使用dd刪除當前光標所在行。
使用#dd刪除從光標處開始的#行內容。
使用d^刪除當前光標之前到行首的所有字符。
使用d$刪除當前光標處行尾的所有字符。
查找文件內容 在命令模式中,按/鍵后可以輸入指定的字符串,從當前光標處開始向后進行查找(如果按?鍵則向前查找)完成查找后可以按n、N鍵在不同的查找結果中進行選擇。

3、末行模式中的基本操作

在命令模式中按冒號":"鍵可以切換到末行模式,vi編輯器的最后一行中將顯示":"提示符,用戶可以在該提示符后輸入特定的末行命令,完成保存文件,退出編輯器。

 

指令行的儲存、離開等指令
:w 保存文件及退出vi編輯器
:w /root/XXX 將當前編輯的文件另存到/root目錄下,文件名為XXX。
:q 退出編輯器。
:q! 不保存並退出。
:wq或x 保存並退出。
:set nu 顯示行號,設定之后,會在每一行的前綴顯示該行的行號
:set nonu  與 set nu 相反,為取消行號!

作者:JackTian 
出處:https://www.cnblogs.com/jacktian-it/ 
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 
如果文中有什么錯誤,歡迎指出。以免更多的人被誤導。 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM