" 語法高亮
:syntax on
:set syntax=c
" 括號匹配高亮
:set showmatch
" 插入模式自動匹配 (Vim 7+)
" 關閉: :NoMatchParen 開啟: :DoMatchParen
:hi MatchParen ctermbg=blue ctermfg=white
" 縮進設置
:set cindent " C 風格自動縮進
:set autoindent " 通用自動縮進
:set shiftwidth=4 " 縮進寬度
:set tabstop=4
:set expandtab " Tab 轉空格
| 命令 | 動作 |
|---|---|
| w / b / e | 下一詞首 / 上一詞首 / 下一詞尾 |
| 0 / ^ / $ | 行首 / 首非空字符 / 行尾 |
| gg / G | 文件首 / 文件尾 |
| H / M / L | 屏幕首行 / 中行 / 尾行 |
| Ctrl+u / Ctrl+d | 向上/下 半屏滾動 |
| Ctrl+f / Ctrl+b | 向前/後 整頁翻頁 |
| gd / gD | 跳轉到局部/全局變量定義 |
| % | 匹配括號跳轉 ((), [], {}) |
| Ctrl+o / Ctrl+i | 跳轉列表後退/前進 |
| fx / Fx / tx / Tx | 本行向後/前查找字符 x,t 停在字符前 |
| * / # | 全文搜索光標下單詞 向下/向上 |
| ma / `a | 標記書籤 a / 跳轉書籤 a |
| `. | 跳轉到上次編輯位置 |
x 刪除光標字符,X 刪除前一字符dd 刪除整行,ndd 刪除 n 行D 刪除至行尾,C 修改至行尾並進入插入模式cc 修改整行,s 修改字符,S 修改行r 替換單字符,R 進入替換模式~ 大小寫翻轉J 合併當前行與下一行yy 複製行,nyy 複製 n 行yw 複製詞,y$ 複製至行尾p 粘貼到光標後,P 粘貼到光標前"ayy 複製到寄存器 a,"ap 從寄存器 a 粘貼:reg 查看所有寄存器內容]p 智能粘貼(自動調整縮進),代碼編輯神器v 字符可視,V 行可視,Ctrl+v 塊可視(矩形選擇)>/< 縮進,= 自動格式化,d/y/c 刪除/複製/修改/pattern 向下搜索
?pattern 向上搜索
n / N 下一個/上一個匹配
:s/old/new/g 當前行全局替換
:%s/old/new/gc 全文替換並確認
:g/pattern/d 刪除所有匹配行
:v/pattern/d 刪除所有不匹配行
10dd 刪除 10 行
3j 向下 3 行
y3' 複製到第 3 個單引號
刪除一詞 dw → 連按 . 連續刪詞;縮進一行 >> → . 連續縮進。
qa 開始錄製到寄存器 a
... 執行一系列操作
q 結束錄製
@a 播放宏
10@a 播放 10 次
宏記錄的是按鍵序列,設計時優先使用移動命令(w、f、/)而非絕對行號,提高泛化能力。
Ctrl+n / Ctrl+p:基於當前文件/標籤/詞典補全Ctrl+x Ctrl+l:整行補全Ctrl+x Ctrl+f:文件路徑補全Ctrl+x Ctrl+o:全能補全(需插件支持)| 命令 | 功能 |
|---|---|
| ] | 智能粘貼(自動縮進適配) |
| % | 跳轉匹配括號 |
| >> | 整體右縮進選中代碼 |
| << | 整體左縮進 |
| gd | 跳轉到局部變量/函數定義 |
| K | 查看光標下關鍵字 man 手冊 |
| [[ / ]] | 跳轉到當前代碼塊 { / } 處 |
:e filename 編輯新文件 (不存在則創建)
:e! 放棄修改重新加載
:wq / ZZ 保存退出
:q! 強制退出不保存
:sp / :vsp 水平/垂直分割窗口
Ctrl+w w 切換窗口