Linux Vim 編輯器使用指南
一、Vim 簡介
Vim(Vi IMproved)是 Linux/Unix 系統中最流行的文本編輯器之一,它是 Vi 的增強版,支持多模式操作、語法高亮、插件擴展等特性,無需鼠標即可高效編輯文本。
二、核心工作模式
Vim 有四種主要模式,通過不同按鍵快速切換:
-
命令模式(Normal Mode):
? 默認模式,用于導航、執行命令和切換到其他模式。
? 進入方式:啟動 Vim 后直接進入;從其他模式按 Esc或 Ctrl+[ 返回。
-
輸入模式(Insert Mode):
? 用于編輯文本,類似常規編輯器。
? 進入方式:在命令模式下按 i(光標前插入)、a(光標后插入)、o(下一行插入)、O(上一行插 入)等。
? 退出方式:按ESC返回命令模式
-
末行模式(Command-Line Mode)
? 用于執行文件操作、搜索替換、配置等命令。
? 進入方式:在命令模式下按 :(冒號)。
? 退出方式:執行命令后自動退出或按 Esc
-
可視模式(Visual Mode)
? 用于選擇文本塊,支持字符、行、塊三種選擇方式。
? 進入方式:在命令模式下按 v(字符)、V(行)或 Ctrl+v(塊)。
三、Vim編輯器常用命令與快捷鍵
1. 文件操作
# 啟動Vim并打開文件
vim filename.txt # 打開文件
vim -o file1 file2 # 水平分屏打開多個文件
vim -O file1 file2 # 垂直分屏打開多個文件# 末行模式命令(需先按冒號:)
:w # 保存文件
:w filename # 另存為
:q # 退出
:wq / :x # 保存并退出
:wq! # 強制保存退出
:q! # 強制退出(不保存)
:e filename # 打開新文件
:bn / :bp # 切換到下一個/上一個文件(多文件編輯時)
2. 光標移動
# 基本移動(命令模式)
h/j/k/l # 左/下/上/右(推薦用方向鍵替代)
w / b # 跳到下一個/上一個單詞開頭
e # 跳到單詞末尾
0 / ^ # 行首(0到第一個字符,^到非空白字符)
$ # 行尾
gg / G # 文檔開頭/結尾
5G # 跳到第5行(數字+G)
Ctrl+f / Ctrl+b # 下翻頁/上翻頁
Ctrl+d / Ctrl+u # 下翻半頁/上翻半頁
3. 文本編輯
# 插入模式(命令模式下按以下鍵進入)
i # 在光標前插入
a # 在光標后插入
I # 在行首插入
A # 在行尾插入
o / O # 在當前行下方/上方插入新行
s / S # 刪除當前字符/整行并進入插入模式# 刪除與修改
x # 刪除當前字符(等同于Delete)
dd # 刪除當前行
3dd # 刪除當前行及以下3行
d$ # 刪除從光標到行尾的內容
d^ # 刪除從光標到行首的內容(不包含光標字符)
dw # 刪除一個單詞
u # 撤銷上一步操作
Ctrl+r # 恢復撤銷(重做)
4. 復制粘貼
yy # 復制當前行
5yy # 復制當前行及以下5行
yw # 復制一個單詞
p / P # 在光標后/前粘貼(小寫p貼到下一行,大寫P貼到上一行)
"ayy # 將當前行復制到寄存器a(可指定a-z任意寄存器)
"ap # 從寄存器a粘貼內容
5.查找與替換
# 查找(命令模式下)
/keyword # 向下查找keyword
?keyword # 向上查找keyword
n / N # 下一個/上一個匹配項(按查找方向)
:nohlsearch # 取消高亮顯示(可簡寫為:noh)# 替換(末行模式下)
:%s/old/new/g # 全局替換(%表示全文,g表示替換所有匹配項)
:%s/old/new/gc # 全局替換,每次替換前詢問(c表示confirm)
:1,10s/old/new/g # 替換第1-10行的匹配項
6. 可視模式操作
v # 進入字符可視模式(按字符選擇)
V # 進入行可視模式(整行選擇)
Ctrl+v # 進入塊可視模式(矩形區域選擇)
# 選中后可執行:
d # 刪除選中內容
y # 復制選中內容
p # 粘貼到光標位置
7. 多窗口操作
# 分屏(末行模式)
:split # 水平分屏
:vsplit # 垂直分屏
:split filename # 分屏并打開新文件# 窗口切換(命令模式)
Ctrl+w w # 循環切換窗口
Ctrl+w h/j/k/l # 切換到左/下/上/右窗口
Ctrl+w q # 關閉當前窗口
8. 寄存器與宏
"ayy # 將當前行復制到寄存器a
"ap # 從寄存器a粘貼
:registers # 查看所有寄存器內容# 錄制宏
qa # 開始錄制宏到寄存器a
# 執行一系列操作(如yy,p,j等)
q # 停止錄制
@a # 執行宏a
10@a # 重復執行宏a 10次
9. 標記與書簽
ma # 在當前位置設置標記a(a-z為局部標記,A-Z為全局標記)
`a # 跳轉到標記a的位置
'' # 跳轉到上次編輯位置
10. 配置文件(~/.vimrc)
創建或編輯 ~/.vimrc
文件可自定義 Vim 配置:
set number # 顯示行號
set relativenumber # 顯示相對行號
set tabstop=4 # Tab寬度為4個空格
set shiftwidth=4 # 自動縮進寬度為4個空格
set expandtab # 將Tab轉換為空格
set autoindent # 自動縮進
syntax on # 語法高亮
set cursorline # 高亮當前行
set mouse=a # 啟用鼠標支持