Grok生成(2025年10月28日23:48:23)
DeepSeek修订(2025年10月29日21:36:27)
Vim 编辑器使用指南
1. 模式说明
普通模式
- 默认启动模式
- 用于移动光标、复制、删除等操作
- 按 Esc 键从其他模式返回
插入模式
- 用于输入文本
- 按 i 键进入
- 按 Esc 键返回普通模式
可视模式
- 用于选择文本
- 按 v 键进入字符选择
- 按 V 键进入行选择
- 按 Ctrl+v 键进入块选择
- 按 Esc 键返回普通模式
命令模式
- 用于执行命令
- 按 : 键进入
- 按 Enter 键执行命令
2. 基础操作
启动 Vim
vim filename.txt
保存与退出
:w # 保存文件
:q # 退出
:wq # 保存并退出
:q! # 强制退出不保存
插入文本
i # 在光标前插入
a # 在光标后插入
o # 在下一行插入
O # 在上一行插入
I # 在行首插入
A # 在行尾插入
3. 光标移动
基本移动
h # 左移
j # 下移
k # 上移
l # 右移
单词移动
w # 移动到下一个单词开头
b # 移动到上一个单词开头
e # 移动到单词结尾
行内移动
0 # 移动到行首
$ # 移动到行尾
^ # 移动到行首非空字符
文件移动
gg # 移动到文件开头
G # 移动到文件结尾
:50 # 移动到第50行
屏幕滚动
Ctrl+u # 向上翻半屏
Ctrl+d # 向下翻半屏
Ctrl+f # 向下翻整屏
Ctrl+b # 向上翻整屏
4. 编辑操作
删除操作
x # 删除光标处字符
dw # 删除到单词末尾
dd # 删除整行
d$ # 删除到行尾
D # 删除到行尾
修改操作
cw # 修改单词
cc # 修改整行
c$ # 修改到行尾
r # 替换单个字符
R # 进入替换模式
复制粘贴
yy # 复制整行
yw # 复制单词
p # 在光标后粘贴
P # 在光标前粘贴
撤销重做
u # 撤销
Ctrl+r # 重做
5. 分屏操作
创建分屏
:vs filename # 垂直分屏
:sp filename # 水平分屏
窗口切换
Ctrl+w w # 循环切换窗口
Ctrl+w h # 切换到左窗口
Ctrl+w j # 切换到下窗口
Ctrl+w k # 切换到上窗口
Ctrl+w l # 切换到右窗口
调整大小
Ctrl+w + # 增加窗口高度
Ctrl+w - # 减少窗口高度
Ctrl+w > # 增加窗口宽度
Ctrl+w < # 减少窗口宽度
Ctrl+w = # 等分窗口大小
关闭分屏
:q # 关闭当前窗口
Ctrl+w q # 关闭当前窗口
6. 外部命令
执行命令
:!ls # 执行 ls 命令
:!git status # 执行 git status
读取命令输出
:r!date # 插入当前时间
:r!ls # 插入目录列表
过滤文本
:!sort # 对选中文本排序
:!grep pattern # 对选中文本搜索
7. 宏录制
录制宏
qa # 开始录制到寄存器 a
操作序列 # 执行要录制的操作
q # 结束录制
使用宏
@a # 执行寄存器 a 中的宏
10@a # 执行 10 次
@@ # 重复上次执行的宏
8. 搜索替换
搜索
/pattern # 向前搜索
?pattern # 向后搜索
n # 下一个匹配项
N # 上一个匹配项
* # 搜索光标下的单词
替换
:%s/old/new/g # 全局替换
:10,20s/old/new/g # 在 10-20 行替换
:%s/old/new/gc # 替换前确认
9. 配置 Vim
创建配置文件
vim ~/.vimrc
" 基础配置
syntax on " 启用语法高亮
set number " 显示行号
set cursorline " 高亮当前行
set showcmd " 在状态栏显示输入的命令
set wildmenu " 命令模式补全菜单
" 搜索设置
set hlsearch " 高亮搜索结果
set incsearch " 实时搜索(输入时即时显示匹配结果)
set ignorecase " 搜索时忽略大小写
set smartcase " 智能大小写(包含大写时区分大小写)
" 缩进设置
set tabstop=4 " Tab显示为4个空格宽度
set shiftwidth=4 " 自动缩进时为4个空格
set expandtab " 将Tab转换为空格
set autoindent " 自动缩进
" 编码设置
set encoding=utf-8 " Vim内部编码
set fileencoding=utf-8 " 文件保存编码
10. 插件管理
安装 vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
配置插件
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
call plug#end()
安装插件
:PlugInstall
11. 实用技巧
多文件编辑
:args *.txt # 打开所有 txt 文件
:bn # 下一个文件
:bp # 上一个文件
:bd # 关闭当前文件
标记位置
ma # 标记位置为 a
`a # 跳转到标记 a
'. # 跳转到最后修改的行
自动补全
Ctrl+n # 下一个补全项
Ctrl+p # 上一个补全项
折叠代码
zf # 创建折叠
zo # 打开折叠
zc # 关闭折叠
zd # 删除折叠
浙公网安备 33010602011771号