此爲本人大學慕課的筆記,具體視頻點擊這裏linux
Vi:Visual Editor的縮寫,命令行界面下的文本編輯器;Unix操做系統中默認的編輯器等vim
Vim:Vi IMproved的縮寫,Vi的升級版;用彩色顯示文本,可視爲程序編輯器等編輯器
默認CentOS已經安裝Vim,若是沒有,聯網後使用如下命令進行安裝:學習
yum install -y vim-enhanced
Vim的3種工做模式:操作系統
通常模式(指令模式)命令行
編輯模式code
從通常模式進入編輯模式視頻
按鍵 | 做用 |
---|---|
i | 在光標前插入字符 |
I | 在光標所在行的行首插入字符 |
a | 在光標後插入字符 |
A | 在光標所在行的行末插入字符 |
o | 在光標所在行下插入新的一行 |
O | 在光標所在行上插入新的一行 |
r | 替換光標所在的字符,只替換一次 |
R | 一直替換光標所在的字符,直到按下Esc鍵 |
命令行模式文檔
按鍵 | 做用 |
---|---|
:w | 保存文本 |
:wl | 若是文件屬性爲只讀時,強制保存 |
:q | 退出vi |
:ql | 強制退出vi,無論編輯仍是未編輯都不保存退出 |
:wq | 保存以後退出 |
:e! | 將文檔還原到最原始狀態 |
ZZ | 等價於:wq |
:w [filename] | 將文檔另存爲filename |
:r [filename] | 在光標所在行的下面讀入filename文檔的內容 |
:set nu | 在每行的行首設置行號 |
:set nonu | 取消行號 |
:n1,n2 w [filename] | 將n1到n2行的內容另存爲filename文件中 |
:! command | 暫時離開vi,執行某個Linux命令,例如::! ls/home 暫時列出/home下的文件,而後會提示按回車返回vi |
通常模式下的功能鍵分類:字符串
移動光標
按鍵 | 做用 |
---|---|
h或左方向鍵 | 光標向左移動一個字符 |
j或下方向鍵 | 光標向下移動一個字符 |
k或上方向鍵 | 光標向上移動一個字符 |
l或右方向鍵 | 光標向右移動一個字符 |
n方向鍵(n是數字) | 光標向方向鍵方向移動n個字符 |
Ctrl+f或PgDn | 屏幕向文件尾移動一頁 |
Ctrl+b或PgUp | 屏幕向文件頭移動一頁 |
n空格(n是數字) | 按下數字n而後按空格,則光標向右移動n個字符,若是該行字符數小於n,則光標繼續從下行開始向右移動,一直到n |
0(數字0)或Home | 移動到本行行首 |
$或End | 移動到本行行尾 |
H | 光標移動到當前屏幕的最頂行 |
M | 光標移動到當前屏幕的中央那一行 |
L | 光標移動到當前屏幕的最底行 |
G | 光標移動到文本的最末行 |
nG(n是數字) | 光標移動到文本的第n行 |
gg | 光標移動到文本的首行 |
n回車(n是數字) | 光標向下移動n行 |
刪除、複製和粘貼
按鍵 | 做用 |
---|---|
x, X | x爲向後刪除一個字符,X爲向前刪除一個字符 |
nx(n是數字) | 向後刪除n個字符 |
dd | 刪除光標所在的那一行 |
ndd(n是數字) | 刪除光標所在的向下n行 |
d1G | 刪除光標所在行到第1行的全部數據 |
dG | 刪除光標所在行到末行的全部數據 |
yy | 複製光標所在的那一行 |
nyy | 複製從光標所在行開始的向下n行 |
p,P | p將複製的數據從光標下一行粘貼,P則從光標上一行粘貼 |
y1G | 複製光標所在行到第1行的全部數據 |
yG | 複製光標所在行到末行的全部數據 |
J | 將光標所在行與下一行的數據結合成一行 |
u | 還原過去的操做 |
Ctrl+r | 重複上一個操做 |
. | 重複前一個操做 |
查找和替換
按鍵/輸入 | 做用 |
---|---|
/keyword | 向光標以後尋找名爲keyword的字符串,當找到第一個keyword後,該單詞高亮顯示,按下「n「繼續查找下一個,按下」N「,反方向查找下一個 |
?keyword | 向光標以前尋找名爲keyword的字符串,當找到第一個keyword後,該單詞高亮顯示,按下「n「繼續查找下一個,按下」N「,反方向查找下一個 |
:n1,n2s/word1/word2/g | 在n1和n2行之間查找word1字符串並替換爲word2 |
:1,$s/word1/word2/g | 從第一行到最末行,查找word1並替換爲word2 |
:1,$s/word1/word2/gc | 在第一行和最末行之間查找word1,替換爲word2以前須要用戶確認 |
文件救援--交換文件(filename.swp)
注意:文件 filename.swp 不須要時,須要用戶手動刪除
未完,待續 ~