Linux之vim詳解
第一次使用vim,啥都不懂,輸入也不能輸入,退出也不會退出,特別的尷尬。。。。後來慢慢的接觸學習,發現vim真的挺好用的,不過上手有點慢,多用就對了,用多了我相信你也會喜歡這個文本編輯工具的
一、vim的三種模式
1、命令模式:
使用 Vim 編輯文件時,默認處於命令模式。在此模式下,可以使用上、下、左、右鍵或者 k、j、h、l 命令進行光標移動,還可以對文件內容進行復制、粘貼、替換、刪除等操作。
2、輸入模式:
在輸入模式下可以對文件執行寫操作,類似在 Windows 的文檔中輸入內容。進入輸入模式的方法是輸入 i、a、o 等插入命令,編寫完成後按 Esc 鍵即可返回命令模式。
3、編輯模式:
二、基本操作
1、打開文件,或者是新建文件
統一命令為:vim file_name
例如:vim array.sh
然後在打開頁面的左下角可以看到文件的信息,行數和字符數,比如上圖的241行,5450個字符
2、移動光標:
a、以字符為單位移動
在命令模式中使用 h、j、k、l 這 4 個字符控制方向,分別表示向左、向下、向上、向左。
b、以單詞為單位移動
w:移動光標到下一個單詞的單詞首
b:移動光標到上一個單詞的單詞首
c、移動到行尾或者行首
使用"$"命令將光標移至行尾,或者使用"0"或"^"命令將光標移至行首。其實,對於 $ 命令來說,可以使用諸如"n$"之類的命令來將光標移至當前光標所在行的之後 n 行的行尾(n 為數字);對於"0"命令來說卻不可以,但可以用"n^"
移動到一行的指定字符處(f 命令)
例如,某行為"you can you up, no can no bb",現在需要將光標移動到字符 p 處,則可以使用"fp"命令,這樣光標就會迅速定位到字符 p 處。f 命令有一個使用條件,即光標需在指定字符前
移動到匹配的括號處(%命令)
那麽在使用 Vim 進行編輯時經常會為將光標移動到與一個"("匹配的")"(對於 [] 和 {} 也是一樣的)處而感到頭疼。其實在 Vim 裏面提供了一個非常方便地査找匹配括號的命令,這就是"%"
移動到指定行處(nG 或 :n 命令)
可以直接在命令模式中輸入"nG"(n 為數字,G 為大寫)或":n"(在編輯模式中輸入數字)命令將光標快速地定位到指定行的行首。這種方法對快速移動光標非常有效。
3、插入
常用的插入命令:
i:在當前光標所在位置插入隨後輸入的文本,光標後的文本相應向右移動
I:在光標所在行的行首插入隨後輸入的文本,行首是該行的第一個非空白字符,相當於光標移動到行首執行i命令
a:在當前光標所在位置之後插入隨後輸入的文本
A:在光標所在行的行尾插入隨後輸入的文本,相當於光標移動到行尾再執行a命令
o:在光標所在行的下面插入新的一行。光標停在空行首,等待輸入文本
O:在光標所在行的上面插入新的一行。光標停在空行的行首,等待輸入文本
當處於輸入模式時,右下角的狀態為如下圖所示:
當編輯完畢使用Esc命令退出輸入模式,進去命令模式,可以使用Shift+zz命令保存退出,其他保存和退出命令見下文
4、編輯
査找指定字符串
首先在命令模式下輸入:/char #char為需要查找的字符,在查找的過程中還以使用$^等進行匹配
然後enter鍵就可以了,然後使用n,N進行下一個或者上一個查找
5、替換字符
r 替換當前光標的單個字符
R 從當前光標開始替換,esc退出
替換範圍內的字符串::替換起始處,替換結束處s/源字符串/替換的字符串/g。
替換整篇文檔的字符串::%s/源字符串/替換的字符串/g(如果不加g,則只替換每行第一個找到的字符串)。
6、刪除,復制,粘貼
x :刪除當前光標字符
dd: 刪除當前光標行
還可以使用命令::1,$d #表示從第一行到最後一行刪除,
ndd ,表示刪除當前光標接下來的n行, 例如5dd
dG : 表示刪除光標到最後一行
yy:為復制
p:為粘貼
u:為撤銷上一步的操作
7、保存和退出
字母"w":保存不退出;
字母"q":不保存退出;
字符"!":強制性操作;
三、其他常用設置
命令前面都要加冒號,我表示偷懶。。。
四、截圖高手(請原諒我的懶惰,畢竟時間寶貴)
這部分截圖來自鳥哥私房菜:
基礎知識其實更推薦大家看書籍,內容全面,此博客只是皮毛
內容豐富,有興趣的童鞋可以提取
下載地址:
鏈接:https://pan.baidu.com/s/1qK3ZF-kBYBL_R_C2YJxhSg
提取碼:nz0n
Linux之vim詳解