Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Vim 進階編輯技巧全集:移動、編輯、寄存器、宏與代碼專用功能

編輯:Linux 教學

基礎環境設置

" 語法高亮
: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          刪除所有不匹配行

高效編輯核心技巧

1. 數字前綴 — 重複執行

10dd    刪除 10 行
3j      向下 3 行
y3'     複製到第 3 個單引號

2. . (點號) — 重複上一次修改

刪除一詞 dw → 連按 . 連續刪詞;縮進一行 >> → . 連續縮進。

3. 宏錄製 — 自動化重複序列

qa      開始錄製到寄存器 a
...     執行一系列操作
q       結束錄製
@a      播放宏
10@a    播放 10 次

宏記錄的是按鍵序列,設計時優先使用移動命令(w、f、/)而非絕對行號,提高泛化能力。

4. 關鍵字補全

  • 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      切換窗口
Copyright © Windows教程網 All Rights Reserved