使用vi文本編輯器vim
配置文件是Linux系統中的顯著特徵之一,其做用有點相似於Windows系統中的註冊表,只不過註冊表是集中管理,而配置文件採用了分散的自由管理方式。那麼如何使用Linux字符操做界面中的文本編輯器——vi,以便更好地管理和維護系統中的各類配置文件。編輯器
vi是一個功能強大的全屏幕文本編輯工具,一直以來都做爲類UNIX操做系統的默認文本編輯器。vim是vi編輯器的加強版本,在vi編輯器的基礎上擴展了不少實用的功能,可是習慣上也將vim稱爲vi。工具
一、vi/vim的使用spa
vi是工做在字符終端環境下的全屏幕編輯器,所以編輯界面相對比較簡單,並無爲用戶提供鼠標操做和菜單系統,而是經過按鍵命令實現相應的編輯和操做功能。在vi編輯界面中可使用三種不一樣的工做模式。分別是命令模式(Command mode),輸入模式(Insert mode)和末行模式(Last line mode)。固然,在不一樣的模式中可以對文件進行的操做也不相同。操作系統
用戶剛剛啓動 vi/vim,便進入了命令模式。blog
此狀態下敲擊鍵盤動做會被Vim識別爲命令,而非輸入字符。好比咱們此時按下i,並不會輸入一個字符,i被看成了一個命令。字符串
如下是經常使用的幾個命令:table
i 切換到輸入模式,以輸入字符。ast
x 刪除當前光標所在處的字符。class
: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啓動Vim,進入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,所以仍要依靠底線命令模式輸入更多命令。
在命令模式下按下i就進入了輸入模式。
在輸入模式中,可使用如下按鍵:
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除光標前一個字符
DEL,刪除鍵,刪除光標後一個字符
方向鍵,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標爲輸入/替換模式,光標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
末行模式
在命令模式下按下:(英文冒號)就進入了末行模式。
末行模式能夠輸入單個或多個字符的命令,可用的命令很是多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程序
w 保存文件
按ESC鍵可隨時退出末行模式。
簡單的說,咱們能夠將這三個模式用如下流程圖來進行表示:
二、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鍵在不一樣的查找結果中進行選擇。 |
三、末行模式中的基本操做
在命令模式中按冒號":"鍵能夠切換到末行模式,vi編輯器的最後一行中將顯示":"提示符,用戶能夠在該提示符後輸入特定的末行命令,完成保存文件,退出編輯器。
指令行的儲存、離開等指令 | ||||
:w | 保存文件及退出vi編輯器 | |||
:w /root/XXX | 將當前編輯的文件另存到/root目錄下,文件名爲XXX。 | |||
:q | 退出編輯器。 | |||
:q! | 不保存並退出。 | |||
:wq或x | 保存並退出。 | |||
:set nu | 顯示行號,設定以後,會在每一行的前綴顯示該行的行號 | |||
:set nonu | 與 set nu 相反,爲取消行號! |