歡迎各位佬進行交流,我們一起無限進步!!!!!!!!!!
文章目錄
- Vim:多模式高效文本編輯器
- 1. 初次體驗 Vim
- 2. Vim 核心工作模式(5 種模式詳解)
- 3. 命令模式:高效操作核心區
- (1)光標定位(精準移動,告別方向鍵)
- (2)編輯命令(復制、刪除、撤銷)
- (3)模式切換命令
- 4. 命令行模式(底行模式):文件與編譯操作
- (1)文件基礎操作
- (2)搜索與替換
- (3)編譯與運行(以 C 語言為例)
- (4)分屏操作(多文件同時編輯)
- 5. 可視模式:批量操作神器
- (1)批量添加注釋(以 C 語言 `//` 為例)
- (2)批量取消注釋
- (3)批量剪切/復制
- 6. Vim 配置:自定義你的編輯器
- (1)基礎配置流程(新手必備)
- (2)進階配置與模式查詢
Vim:多模式高效文本編輯器
1. 初次體驗 Vim
- 啟動與基礎操作:終端輸入
vim 文件名
(如vim test.c
)啟動,默認進入命令模式(此時輸入字符會被識別為命令,而非文本);- 若啟動后無明顯反應,無需慌張,按
i
鍵即可進入插入模式(界面會顯示--INSERT--
提示),此時可正常輸入代碼; - 退出提示:若需放棄編輯退出,按
Esc
返回命令模式,輸入:q!
強制退出;若需保存退出,輸入:wq
或快捷鍵Shift+zz
。
- 若啟動后無明顯反應,無需慌張,按
- Vim 界面參考:
2. Vim 核心工作模式(5 種模式詳解)
Vim 的核心優勢是“模式化編輯”,不同模式對應不同操作場景,新手可先掌握前 3 種基礎模式,后續逐步熟悉剩余模式。模式分類及操作邏輯如下表:
模式類型 | 觸發方式 | 核心用途 | 退出方式(返回命令模式) | 新手重點度 |
---|---|---|---|---|
命令模式(默認) | 啟動 Vim 或按 Esc | 光標移動、復制/刪除/撤銷等 | 無需退出(默認狀態) | ★★★★★ |
插入模式 | i (光標前)/a (光標后)/o (新行) | 輸入文本內容 | 按 Esc | ★★★★★ |
命令行模式(底行) | : (即 Shift+; ) | 保存、退出、編譯、搜索等 | 按 Esc 或執行命令后返回 | ★★★★☆ |
可視模式(塊級/行級) | Ctrl+v (塊級)/v (字符級)/V (行級) | 批量注釋、刪除、復制 | 按 Esc | ★★★☆☆ |
替換模式 | Shift+r (即 R ) | 實時替換光標后字符 | 按 Esc | ★★☆☆☆ |
關鍵規則:插入模式、命令行模式、可視模式、替換模式之間無法直接切換,必須先按
Esc
返回命令模式,再切換至其他模式。
- 模式切換邏輯參考:
3. 命令模式:高效操作核心區
命令模式無需觸發,啟動后默認進入,所有操作通過“快捷鍵命令”完成,按功能分類如下:
(1)光標定位(精準移動,告別方向鍵)
-
行級定位:
- 跳轉到第 n 行:
n gg
(n 為數字,如5 gg
跳轉到第 5 行,無需加“+”); - 跳轉到文件首行:
gg
(無數字,直接按gg
); - 跳轉到文件末尾:
G
(即Shift+G
,無需加數字,原“n+Shift+G”為錯誤命令,會導致跳轉到第 n 行而非末尾)。
- 跳轉到第 n 行:
-
行內定位:
- 行尾:
Shift+$
(光標快速移到當前行最后一個字符); - 行首:
Shift+^
(光標快速移到當前行第一個非空字符); - 方向替代(兼容無方向鍵設備):
h
(左)、j
(下)、k
(上)、l
(右)(原“左下上右”順序錯誤,需糾正為“左、下、上、右”); - 單詞級移動:
w
(跳轉到下一個單詞開頭)、b
(跳轉到上一個單詞開頭)。
- 行尾:
(2)編輯命令(復制、刪除、撤銷)
- 復制與粘貼:
- 復制 n 行:
n yy
(如3 yy
復制當前行及下方共 3 行); - 粘貼:
n p
(將復制內容粘貼到當前行下方,n 為粘貼次數,如2 p
粘貼 2 次)。
- 復制 n 行:
- 撤銷與重做:
- 撤銷上一步:
u
(可連續撤銷,只要不退出 Vim); - 重做撤銷操作:
Ctrl+r
(恢復被u
撤銷的步驟)。
- 撤銷上一步:
- 刪除與剪切:
- 刪除 n 行(剪切):
n dd
(如2 dd
刪除當前行及下方 1 行,刪除內容可通過p
粘貼,等同于“剪切”); - 字符級刪除:
x
(刪除光標后 1 個字符)、X
(刪除光標前 1 個字符)。
- 刪除 n 行(剪切):
- 其他實用命令:
- 大小寫轉換:
Shift+~
(光標所在字符切換大小寫,按n Shift+~
連續轉換 n 個字符); - 局部替換:
n r
(從光標開始替換 n 個字符,如4 r1
將光標及后續 3 個字符替換為1
)。
- 大小寫轉換:
(3)模式切換命令
- 進入替換模式:
Shift+r
(即R
),此時輸入的字符會直接覆蓋光標后的字符,界面顯示--REPLACE--
提示;
- 進入插入模式:
i
(光標前插入)、a
(光標后插入)、o
(當前行下方新增一行并插入),按需選擇即可(如在單詞末尾補全用a
,新增行寫代碼用o
)。
4. 命令行模式(底行模式):文件與編譯操作
按 :
觸發命令行模式,輸入命令后按回車執行,核心命令按場景分類:
(1)文件基礎操作
- 保存與退出:
:w
:僅保存文件(不退出,適合編輯中階段性保存);:q
:退出 Vim(需先保存,未保存時會報錯);:wq
:保存并退出(等同于命令模式的Shift+zz
);:!
:強制執行(如:q!
強制退出不保存、:w!
強制保存只讀文件)。
- 行號控制:
:set nu
:顯示行號(寫代碼查錯必備);:set nonu
:隱藏行號(需簡潔界面時使用)。
(2)搜索與替換
- 關鍵詞搜索:
:/關鍵詞
(如:/printf
,回車后定位到第一個匹配項,按n
找下一個,Shift+n
找上一個); - 全局替換:
::%s/舊內容/新內容/g
(%
表示整個文件,s
表示替換,g
表示全局匹配,如:%s/int/long/g
將所有int
改為long
);
(3)編譯與運行(以 C 語言為例)
- 編譯代碼:
:! gcc 源碼文件 -o 輸出文件名
(如:! gcc code.c -o myprog
,生成可執行文件myprog
);- 簡化編譯:若無需自定義文件名,可直接輸入
:! gcc code.c
(默認生成a.out
);
- 簡化編譯:若無需自定義文件名,可直接輸入
- 運行程序:
:! ./輸出文件名
(如:! ./myprog
,執行編譯后的程序并查看輸出); - 快速執行歷史命令:按
:!
后加“命令首字母”,按 Tab 鍵可補全歷史命令(如:!g
補全! gcc code.c
)。
(4)分屏操作(多文件同時編輯)
- 垂直分屏:
:vs 文件名
(如:vs test.c
,在當前窗口右側新增分屏并打開test.c
,光標在哪就從哪個窗口分屏);
- 分屏切換:
Ctrl+ww
(在多個分屏間循環切換,按一次切換一個窗口); - 關閉分屏:在目標分屏中輸入
:q
(若為最后一個分屏則退出 Vim)。
5. 可視模式:批量操作神器
可視模式主要用于“批量選中文本”,其中 塊級可視模式(Ctrl+v
觸發)最適合代碼注釋、刪除等場景,操作步驟如下:
(1)批量添加注釋(以 C 語言 //
為例)
- 命令模式下按
Ctrl+v
進入塊級可視模式; - 按
j
/k
方向鍵選中需要注釋的所有行(僅需選中每行的開頭位置,無需全選); - 按
Shift+i
進入“塊插入模式”,輸入注釋符號//
(此時僅第一行顯示輸入內容); - 按
Esc
鍵,選中的所有行開頭會自動添加//
,完成批量注釋;
(2)批量取消注釋
- 命令模式下按
Ctrl+v
進入塊級可視模式; - 按
h
/l
/j
/k
選中所有行的//
符號(確保僅選中注釋部分,不包含代碼); - 按
d
鍵刪除選中的//
,所有行注釋同步取消;
(3)批量剪切/復制
- 批量剪切:選中內容后按
d
鍵,直接刪除并保存到剪貼板; - 批量復制:選中內容后按
y
鍵,復制到剪貼板,再按p
粘貼到目標位置。
6. Vim 配置:自定義你的編輯器
Vim 支持通過 ~/.vimrc
文件自定義功能(如默認顯示行號、自動縮進),配置僅對當前用戶生效,步驟如下:
(1)基礎配置流程(新手必備)
- 返回家目錄:終端輸入
cd ~
(~
代表當前用戶的主目錄,如/home/yourname
); - 創建配置文件:輸入
touch .vimrc
(.vimrc
是 Vim 的默認配置文件,前綴.
表示隱藏文件); - 編輯配置文件:輸入
vim .vimrc
,進入 Vim 編輯界面; - 添加基礎配置(可直接復制以下內容,按
Esc
后輸入:wq
保存生效):" 顯示行號(寫代碼查錯必備) set nu " Tab 鍵對應 4 個空格(符合多數代碼縮進規范) set tabstop=4 " 自動縮進(新行與上一行縮進對齊,寫循環/函數時不用手動縮進) set autoindent " 高亮當前行(方便定位光標位置) set cursorline " 插入模式下按 jj 快速返回命令模式(替代 Esc 鍵,更順手) inoremap jj <Esc> " 搜索時忽略大小寫(輸入 /Printf 和 /printf 效果一致) set ignorecase
(2)進階配置與模式查詢
- 進階配置:若需代碼補全、主題美化等功能,可創建
~/.vim
目錄,下載插件(如Vundle
插件管理器)放入該目錄,具體配置可參考 AI 或 Vim 插件文檔; - 查看所有模式:原
vim-modes
命令錯誤(Vim 無此命令),正確方式是在 Vim 內輸入:help modes
并回車,查看官方模式說明文檔;
- 配置效果參考:
注意:不同用戶的 Vim 配置相互獨立(每個用戶的
~/.vimrc
僅作用于自己),無需擔心影響其他用戶。