文章目錄
-
-
- 1.Vim 常見工作模式
- 2.Vim 的模式轉換
-
- 正常模式轉輸入模式
- 3.Vim 高頻快捷鍵
-
- 插入文本 ( 正常模式下輸入 )
- 行間跳轉 ( 正常模式下輸入)
- 文本處理 ( 正常模式下輸入)
- 檔案操作 ( 指令模式下輸入)
- 批量處理 ( 輸入模式下輸入 )
- 4.Vim 配置檔案配置指南
-
1.Vim 常見工作模式

- 正常模式 :Vim 打開檔案預設處于正常模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動光标的位置,還可以對檔案内容進行複制、粘貼、替換、删除等操作。
- 輸入模式(插入模式,編輯模式) :輸入模式 Vim 可以對檔案執行寫操作。
- 指令模式 :指令模式用于對檔案中的指定内容執行儲存、查找或替換等操作。
2.Vim 的模式轉換
正常模式轉輸入模式
快捷鍵 | 功能 |
---|---|
i | 在光标所在位置前輸入文本,進入輸入模式 |
I | 在行首插入文本,進入輸入模式 |
a | 在光标所在位置後輸入文本,進入輸入模式 |
A | 在行末尾插入文本,進入輸入模式 |
o | 在目前行的下一行插入空行,進入輸入模式 |
O | 在目前行的上一行插入空行,進入輸入模式 |
正常模式 轉 指令模式隻需要按下 :,然後在指令模式下進行操作,最常見的就是操作就是 使用 " / "查找文本的關鍵字,比如在正常模式下搜尋文本出現的include單詞
vim test.c
:/include 回車
3.Vim 高頻快捷鍵
插入文本 ( 正常模式下輸入 )
快捷鍵 | 功能 |
---|---|
i | 在光标所在位置前輸入文本 |
I | 在行首插入文本 |
a | 在光标所在位置後輸入文本 |
A | 在行末尾插入文本 |
o | 在目前行的下一行插入空行 |
O | 在目前行的上一行插入空行 |
行間跳轉 ( 正常模式下輸入)
快捷鍵 | 功能 |
---|---|
h | 光标向左移動 |
l | 光标向右移動 |
j | 光标向下移動一行 |
k | 光标向上移動一行 |
w | 光标跳到上一個單詞 |
b | 光标跳到下一個單詞 |
使用技巧:
使用指令前可以加上數字,代表執行的次數,比如 :5 j 便是光标向下移動五行,其他指令依次類推
文本處理 ( 正常模式下輸入)
快捷鍵 | 功能 |
---|---|
dd | 删除目前行 |
num+dd | 向下删除num行 |
p | 将剪切闆的内容複制到此處 |
x | 删除目前光标的字元 |
u | 撤銷上次操作 |
ctrl+r | 取消撤銷上次操作 |
r | 替換成将要輸入的字元 |
ctrl+d | 向下翻半頁 |
ctrl+u | 向上翻半頁 |
檔案操作 ( 指令模式下輸入)
正常模式使用:進入指令模式
快捷鍵 | 功能 |
---|---|
:w | 将文本内容儲存 |
:q | 退出目前文本 |
:wq! | 強制儲存并退出文本 |
:vs+檔案名 | 豎直分屏打開文本 |
:sp+檔案名 | 水準分屏打開文本 |
num+dd | 向下删除num行 |
打開分屏之後,想要切換視窗使用 ctrl + w + h / j / k / l
批量處理 ( 輸入模式下輸入 )
批量替換
:%s/源字元串/目的字元串/g
批量注釋
:起始行号,結束行号s/^/注釋符/g
批量取消注釋
:起始行号,結束行号s/^注釋符//g
4.Vim 配置檔案配置指南
Vim 通過一個配置檔案叫做 vimrc 來提供使用者自定義配置 Vim 屬性,通常叫做 .vimrc ,是以是一個隐藏檔案,使用 ls -a 才能看到,在etc目錄中有一個全局的 .vimrc 檔案,自己的家目錄下也有一個 .vimrc 檔案,強烈推薦配置使用者家目錄下的配置檔案,也就是 ~/.vimrc,他的配置檔案文法中使用 " 來注釋
基礎配置文法示例:
第 1 行到 12 行為基礎配置,直接用即可,16行意思是在插入模式下輸入 j j 來映射 Esc 按鍵,也就是進入了預設模式,( Esc 鍵有點遠,沒辦法 😂),18 行意思是普通模式下ctrl w h 映射 ctrl h,目的就是在分屏切換的時候少按了一個鍵,友善一些。沒錯inoremap 表示 插入模式下映射,noremap 表示預設模式下映射,可以根據自己的喜好随意配置。
"零碎配置
set number "顯示行号
syntax on "文法高亮
set hlsearch
set autoindent
set smartindent
set scrolloff=5 "垂直滾動時,光标距離頂部/底部的位置(機關:行)
set noswapfile "不建立交換檔案
set tabstop=4
set shiftwidth=4
set showmatch
set fileencodings=ucs-bom,utf-8,chinese,cp936
"按鍵映射
inoremap jj <Esc>
inoremap <Tab> <Esc>la
noremap <C-h> <C-w>h
noremap <C-j> <C-w>j
noremap <C-k> <C-w>k
noremap <C-l> <C-w>l
noremap <space> viw
提示 : Vim 很多指令前後可以加上一個數字,表示指令執行次數,使用過程中需要舉一反三才能更好地利用 Vim。