- vi 編譯器是所有Unix和Linux的標準編譯器,vim 可以理解為升級版本,vi適用于文本編輯器,vim更適用于coding寫代碼.
- vim 中存在的三種熟知模式:命令模式、編輯模式(輸入模式)、末行模式(尾行模式)。
命令模式:在該模式下是不能對文件直接編輯,可以輸入快捷鍵進行一些操作(刪除行,復制行,移動光標、粘貼等)打開文件之后默認進入命令模式
編輯模式:可以對文件的內容進行編輯
末行模式:可以在末行輸入命令來對文件進行操作(搜索、替換、保存、退出、撤銷、高亮等) - vim 打開文件的方式
- vim 文件路徑 作用:打開指定的文件
- vim 數字 文件路徑 作用:打開指定文件,并且將光標移動到指定行
- vim /關鍵詞 文件的路徑 作用:打開指定的文件,并且高亮顯示關鍵詞
- vim 文件路徑1 文件路徑2 文靜路徑3 作用:同時打開多個文件
命令模式
- 光標移動
- 移動到行首 shift + 6 或者 ^(T字母上的6)
- 移動到行尾 shift + 4 或者 $(R字母上的6)
- 移動到首行 gg
- 移動到末行 G
- 向上翻屏 ctrl + b 或 pg up 向下翻屏 ctrl + f 或 pg dn
- 復制
- 復制光標所在行 按 yy 鍵
- 粘貼
在想要粘貼的地方 按 p 鍵
以光標所在行為準(包含當前行)向下復制指定的行數 按鍵: 數字 yy - 可視化的復制
按鍵 ctrl + v ,然后按上下左右方向鍵 來選中要復制的區塊,按下 yy 鍵進行復制,最后在要復制的地方按下 p 鍵 - 剪切/刪除
- 剪切/刪除光標所在行
按鍵 : dd 嚴格意義上講是剪切命令,剪切之后不粘貼等于刪除 - 剪切/刪除光標所在行為準,向下 剪切/刪除指定行
按鍵 : 數字 dd - 剪切/刪除光標所在行,但是刪除之后下一行不上移
按鍵 :D 刪除之后當前行變為空白行
- 剪切/刪除光標所在行
- 撤銷/恢復
撤銷: :u
恢復: ctrl + r 恢復(取消)之前的撤銷操作 - 快速移動光標
- 快速移動光標到指定的行 ;
指令: 數字 G - 光標快速向上/下/左/右 移動n行或者n個字符
指令 : 數字 加上 上/下/左/右 方向鍵 - 末行模式下 快速移動方式
指令: 輸入“:” ,加上行數數字,回車
模式切換
“:” 進入末行模式
按下i、a 等進入編輯模式
esc 退出
- 快速移動光標到指定的行 ;
末行模式
指令:“:w” 回車 保存操作
指令:“:w 路徑”回車 另存為
指令:“:q” 回車 退出
指令:“:wq” 保存并退出
指令: “:q!” 強制退出,做的操作不保存
- 末行模式下調用外部命令
指令:“:! 外部命令” - 搜索
通過“/” 進入末行模式
指令: “/ 關鍵詞” N/n 上/下 搜索
取消高亮: “:nohl” - 替換
”: s / 搜索的關鍵詞/ 新的內容“ 替換光標所在行的第一處符合條件的內容
”: s / 搜索的關鍵詞/ 新的內容/g“ 替換光標所在行全部符合條件的內容
”:%s/ 搜索的關鍵詞/ 新的內容“ 替換整個文檔中每行的第一個符合條件的內容
”:%s/ 搜索的關鍵詞/ 新的內容/g“ 替換整個文檔全部符合條件的內容
% 表示整個文件 g表示全局 - 顯示行號 :set nu 行號是臨時顯示的,退出之后再進入不會再顯示
取消行號 :set nonu - vim 同時打開多個文件,再末行模式下進行切換文件
:files 查看當前打開文件的名稱
:open 文件名稱 切換文件
:bn 切換到下一個文件
:bp 切換到上一個文件
編輯模式
進入方式:
i:在光標所在字符前開始插入
a:在光標所在字符后開始插入
o:在所在光標所在行的下面另起一行插入
I:在光標所在行首開始插入,如果行首有空格則在空格之后插入
A:在光標坐在行的行尾開始插入
O:在光標所在行的上面另起一行開始插入
S:刪除光標所在行并開始插入
退出:esc 鍵
- 代碼著色
顯示: :syntax on
關閉::syntax off - vim 中計算器的使用
在編輯模式下按下 ctrl + R ,然后輸入 = ,
光標會到最后一行 ,
然后輸入需要計算的內容,回車 - vim 的配置
1.在文件打開的時候在末行模式在輸入的配置(臨時的)- 個人配置文件(~/.vimrc)
- 全局配置文件(自帶,/etc/vimrc)
可以新建 個人配置文件 ,比如在配置文件內寫 set nu 設置行號
如果針對同一個配置項,以個人配置文件為準,個人配置文件不存在的項,以全局文件為準
- 別名機制
別名機制依靠別名映射文件 ~/.bashrc
vim ~/.bashrc 編輯文件
alias cls='clear'
創造的命令,必須要重新登錄當前用戶才會生生效 - 退出方式
:q
:wq
:x