LIVE_STREAM_CONNECTED
Vim 编辑器使用指南
A
Mastermind
admin
Dimension
Linux
Timestamp
2025年12月21日
Vim 是功能强大的命令行文本编辑器,学习曲线陡峭但效率极高,是 Linux 系统管理和开发的必备技能。
基础概念
三种模式
- 普通模式(Normal):默认模式,用于导航和命令
- 插入模式(Insert):输入文本
- 命令模式(Command):执行保存、退出等命令
模式切换
普通模式 → 插入模式:i, a, o 等
插入模式 → 普通模式:Esc
普通模式 → 命令模式::
打开与退出
打开文件
vim file.txt # 打开文件
vim +10 file.txt # 打开并定位到第 10 行
vim +/keyword file.txt # 打开并定位到关键词
vim file1.txt file2.txt # 打开多个文件
保存与退出
:w " 保存
:q " 退出
:wq " 保存并退出
:x " 保存并退出(同 :wq)
:q! " 强制退出不保存
:wq! " 强制保存退出
ZZ " 普通模式下保存退出
ZQ " 普通模式下不保存退出
普通模式操作
光标移动
" 基础移动
h " 左
j " 下
k " 上
l " 右
" 单词移动
w " 下一个单词开头
b " 上一个单词开头
e " 当前单词结尾
" 行内移动
0 " 行首
^ " 行首(非空字符)
$ " 行尾
f{char} " 移到本行下一个 char
F{char} " 移到本行上一个 char
" 屏幕移动
H " 屏幕顶部
M " 屏幕中间
L " 屏幕底部
Ctrl+f " 下翻一页
Ctrl+b " 上翻一页
Ctrl+d " 下翻半页
Ctrl+u " 上翻半页
" 文件移动
gg " 文件开头
G " 文件结尾
10G " 跳转到第 10 行
:10 " 跳转到第 10 行
编辑操作
" 进入插入模式
i " 光标前插入
a " 光标后插入
I " 行首插入
A " 行尾插入
o " 下方新建行
O " 上方新建行
" 删除
x " 删除当前字符
dd " 删除当前行
dw " 删除到下一个单词
d$ " 删除到行尾
d0 " 删除到行首
3dd " 删除 3 行
" 复制粘贴
yy " 复制当前行
yw " 复制单词
y$ " 复制到行尾
3yy " 复制 3 行
p " 在光标后粘贴
P " 在光标前粘贴
" 修改
cw " 删除单词并进入插入模式
cc " 删除整行并进入插入模式
c$ " 删除到行尾并插入
r{char} " 替换当前字符
R " 进入替换模式
" 撤销重做
u " 撤销
Ctrl+r " 重做
. " 重复上一次操作
可视模式(选择)
v " 字符选择
V " 行选择
Ctrl+v " 块选择(列选择)
" 选择后可执行
d " 删除选中
y " 复制选中
> " 右缩进
< " 左缩进
搜索替换
搜索
/keyword " 向下搜索
?keyword " 向上搜索
n " 下一个匹配
N " 上一个匹配
* " 搜索光标下的单词
替换
:s/old/new/ " 替换当前行第一个
:s/old/new/g " 替换当前行所有
:%s/old/new/g " 替换全文所有
:%s/old/new/gc " 替换全文(逐个确认)
:10,20s/old/new/g " 替换 10-20 行
多文件与窗口
多文件
:e file.txt " 打开新文件
:bn " 下一个文件
:bp " 上一个文件
:ls " 列出所有缓冲区
:b2 " 切换到缓冲区 2
分屏
:sp file.txt " 水平分屏
:vsp file.txt " 垂直分屏
Ctrl+w h " 切换到左窗口
Ctrl+w j " 切换到下窗口
Ctrl+w k " 切换到上窗口
Ctrl+w l " 切换到右窗口
Ctrl+w w " 循环切换窗口
:close " 关闭当前窗口
:only " 只保留当前窗口
标签页
:tabnew file.txt " 新标签打开
:tabn " 下一个标签
:tabp " 上一个标签
:tabclose " 关闭标签
gt " 下一个标签
gT " 上一个标签
实用技巧
快速操作
" 删除引号内内容
di" " 删除 "" 内的内容
ci" " 删除并进入插入模式
yi" " 复制 "" 内的内容
" 同理适用于
di( " 删除 () 内
di{ " 删除 {} 内
di[ " 删除 [] 内
dit " 删除 HTML 标签内
" 快速注释(块选择)
Ctrl+v " 进入块选择
jjj " 选择多行
I " 行首插入
// " 输入注释符
Esc " 应用到所有行
宏录制
qa " 开始录制宏到寄存器 a
... " 执行操作
q " 停止录制
@a " 执行宏
10@a " 执行 10 次
显示行号
:set number " 显示行号
:set nonumber " 隐藏行号
:set relativenumber " 相对行号
配置文件
创建 ~/.vimrc:
" 基础设置
set number " 显示行号
set relativenumber " 相对行号
set cursorline " 高亮当前行
set showcmd " 显示命令
set showmatch " 括号匹配
" 缩进设置
set tabstop=4 " Tab 宽度
set shiftwidth=4 " 缩进宽度
set expandtab " Tab 转空格
set autoindent " 自动缩进
set smartindent " 智能缩进
" 搜索设置
set hlsearch " 高亮搜索结果
set incsearch " 增量搜索
set ignorecase " 忽略大小写
set smartcase " 智能大小写
" 编码设置
set encoding=utf-8
set fileencoding=utf-8
" 其他
set mouse=a " 启用鼠标
set clipboard=unnamed " 系统剪贴板
syntax on " 语法高亮
常用命令速查
| 操作 | 命令 |
|---|---|
| 保存退出 | :wq 或 ZZ |
| 不保存退出 | :q! 或 ZQ |
| 删除一行 | dd |
| 复制一行 | yy |
| 粘贴 | p |
| 撤销 | u |
| 搜索 | /keyword |
| 全局替换 | :%s/old/new/g |
| 跳转行 | 10G 或 :10 |
| 文件开头 | gg |
| 文件结尾 | G |
总结
Vim 学习路径:
- 先掌握基础:
i插入、Esc退出、:wq保存 - 熟悉移动:
hjkl、w、b、gg、G - 学会编辑:
dd、yy、p、u - 进阶搜索替换和分屏
Vim 的强大在于组合:动作 + 范围,如 d3w(删除3个单词)、y$(复制到行尾)。熟练后效率远超普通编辑器。