首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言實戰:vi 編輯器入門與高效編輯技巧(上)

     編輯:關於C語言

前言:為什麼專業 C 開發者仍需掌握 vi?

  • **無處不在**:所有 Unix/Linux 系統預裝,遠程 SSH、嵌入式板卡、容器極簡鏡像唯一可用編輯器。
  • **鍵盤為王**:無需鼠標,手不離鍵盤主鍵區,編輯速度極快。
  • **模式編輯哲學**:普通模式、插入模式、命令列模式分離,動作組合(動詞+名詞)構建強大編輯語言。
  • **輕量可靠**:幾百 KB 二進制,啟動瞬間完成,不會因插件崩潰丟失代碼。

vi 基本概念

模式進入鍵核心功能退回普通模式
普通模式啟動預設 / Esc導航、刪除、複製、搜尋、執行命令—
插入模式i I a A o O輸入文字Esc 或 Ctrl+[
命令列模式: / ?存檔、退出、替換、設置、外部命令Esc / Enter 執行後

第一階段:生存技能(30 分鐘入門)

1. 開啟/關閉


vi hello.c          # 新建/編輯
:q                  # 退出(未修改)
:w                  # 存檔
:wq / :x            # 存檔並退出
:q!                 # 強制放棄修改退出

2. 移動光標(普通模式)


h j k l             # 左下上右(核心,無需方向鍵)
w b                 # 下一詞首 / 上一詞首
0 ^ $               # 行首 / 第一個非空白 / 行尾
gg G                # 檔案首行 / 末行
:n                  # 跳轉第 n 行

3. 編輯文字


i                   # 光標前插入
a                   # 光標後追加
o / O               # 下方/上方新行並插入
x                   # 刪除光標字符
dd                  # 刪除整行(複製到暫存器)
yy                  # 複製整行
p / P               # 光標後/前貼上
u                   # 撤銷
Ctrl+r              # 重做

4. 進階修改(動詞 + 名詞 = 文本對象)


cw                  # 修改詞(刪除詞尾並進入插入模式)
cc                  # 修改整行
C                   # 修改到行尾(= c$)
dw                  # 刪除詞
d$ / D              # 刪除到行尾
> > / < <           # 縮進/取消縮進
.                   # 重複上一次修改操作(神鍵)

第二階段:效率倍增器

5. 搜尋與替換


/pattern            # 向下搜尋
?pattern            # 向上搜尋
n / N               # 下一個 / 上一個匹配
:%s/old/new/g       # 全文替換
:'<,'>s/old/new/g   # 視覺模式選取範圍替換

6. 視覺模式(選取文本對象)


v                   # 字符選取
V                   # 行選取
Ctrl+v              # 區塊選取(矩形編輯神器)

7. 多檔案與分屏


:sp file / :vsp file  # 水平/垂直分屏編輯另一檔案
Ctrl+w w              # 切換窗口
:tabnew file          # 新分頁
gt / gT               # 下一/上一分頁

8. 外部命令整合


:!gcc % -o %<       # 編譯當前檔(% 為檔名,%< 為無副檔名)
:!!                 # 重複上一條外部命令
:r !cmd             # 將命令輸出插入光標處

第三階段:肌肉記憶養成計畫

  1. **第 1 週**:強制使用 hjkl 移動,禁用方向鍵;每天 15 分鐘練習 dd, yy, p, u, .。
  2. **第 2 週**:掌握 / 搜尋、n/N 跳轉、cw 修改詞、. 重複。
  3. **第 3 週**:學會 Ctrl+v 區塊編輯(批量註釋/解註釋、對齊賦值)、:%s 替換、分屏編輯 .h/.c 對照。
  4. **第 4 週**:配置 ~/.vimrc 基礎設置(行號、縮進、語法高亮、編碼),安裝 ctags/cscope 實現跳轉定義。

最小可用 .vimrc 起手式


set nocompatible    " 必須第一行,關閉 vi 相容模式
set number          " 顯示行號
set tabstop=4 shiftwidth=4 expandtab " 4 空格縮進
set autoindent smartindent
set hlsearch incsearch ignorecase smartcase
set encoding=utf-8 fileencodings=utf-8,gbk
syntax on
filetype plugin indent on
" 快捷鍵:F5 編譯運行
nnoremap  :w:!gcc % -o %< && ./%<

下篇預告

進階主題:巨集錄製 (q)、寄存器系統 ("ayy)、標記跳轉 (m/`)、正則表達式進階、外掛管理 (vim-plug)、語言伺服器協議 (LSP) 整合 clangd 實現 IDE 級補全跳轉。


vi/vim 是「越用越順手、越老越值錢」的工具。投入前 20 小時刻意練習,回報將伴隨整個程式設計生涯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved