vim 是一款功能強大的文字編輯器, 預設有三種模式: 命令模式, 插入模式, 編輯模式, 使用# vim file 開啟一個檔案時,預設進入命令模式, 不同模式直接的切換如下
a. 命令模式切換到 插入模式: Esc 鍵返回命令模式
i : 游標處開始插入
I : 游標所在行首開始插入
A : 游標所在行尾開始插入(append)
o : 游標下插入新行
b. 命令模式 切換 編輯模式: 直接輸入 :即可, enter 鍵返回命令模式
常用命令:
1.1 定位命令(命令模式下)
1.1.1 游標移動到行首: 0
1.1.2 游標移動到行尾: $
1.1.3 游標移動到檔案首行第一個字元: gg
1.1.4 游標移動到檔案末行第一個字元: G
1.2 複製 && 剪下(刪除) && 粘貼 (命令模式下)
1.2.1 複製一行: yy
1.2.2 複製n行: nyy
1.2.3 剪下一行: dd
1.2.4 剪下n行: ndd
1.2.5 剪下到行尾:D
1.2.6 剪下到檔案尾:dG
1.2.7 剪下指定行: :n1,n2d 編輯模式下 n1 :開始行號,n2 終止行號, 注意此命令是在命令模式下的命令, 而且要注意 寫 d, 別忘寫了
1.2.8 粘貼到游標下:p
注意: 在vim 中刪除和剪下命令是一樣的,只要不粘貼,剪下就是刪除
1.3 替換 && 搜尋(命令模式下)
1.3.1 替換游標處單個字元: r ,然後輸入要替換的字元
1.3.2 進入替換模式: R, 可以連續替換, Esc 退出到命令模式
1.3.4 批量替換: 將oldstr 字串 替換成 newstr, 編輯模式下
1. : %s/oldstr/newstr/c 全文替換, 有詢問提示
2. :%s/oldstr/newstr/g 全文替換, 沒有詢問提示
3. :n1,n2s/oldstr/newstr/c n1行到n2 行之間替換,有詢問提示
4. :n1,n2s/oldstr/newstr/g n1行到n2行之間替換,沒有詢問提示
1.3.5 搜尋:進入vim 時預設為不忽略大小寫搜尋
1. 普通搜尋: /str
2. 模糊搜尋: 先設定檔案為忽略大小寫,在編輯模式下輸入: set ic
設定檔案不忽略大小寫: set noic
在尋找到後,按 n 可以尋找下一個
1.4 儲存退出:(編輯模式下)
1.4.1 儲存:w
1.4.2 另存新檔: w newfilename
1.4.3 儲存並退出: wq
1.4.4 不儲存退出: q。
1.4.5 強制儲存:wq。 指標對唯讀檔案而言,但是使用這條命令的只能是檔案的所有者和root 使用者
1.4.6 撤銷操作:u 命令模式下(undo)