Vim 是一款功能强大的文本编辑器,以高效的键盘操作为核心,广泛用于代码编写、文档编辑等场景。对于新手来说,Vim 的操作逻辑可能需要适应,但掌握后能极大提升编辑效率。以下是一份系统的 Vim 用法指南,涵盖基础操作到进阶技巧。
一、Vim 基础入门
1. 启动与退出 Vim
- 启动 Vim:在终端中输入
vim 文件名(如vim test.txt),若文件不存在则创建新文件。 - 退出 Vim:
- 先按
Esc确保处于普通模式(见下文模式说明),然后: :q:退出(文件未修改时)。:q!:强制退出(丢弃修改)。:wq或:x:保存并退出。
- 先按
2. Vim 的三种核心模式
| Vim 的核心特点是模式化操作,不同模式下键盘行为不同,必须熟练切换: | 模式 | 作用 | 进入方式 | 退出方式(返回普通模式) |
|---|---|---|---|---|
| 普通模式 | 移动光标、执行命令(如复制、删除) | 启动 Vim 后默认进入 | 任何模式下按 Esc 键 |
|
| 插入模式 | 输入文本 | 普通模式下按 i(光标前)、a(光标后)、o(新行)等 |
按 Esc 键 |
|
| 命令模式 | 执行保存、退出、查找等高级命令 | 普通模式下按 : 或 /、? |
执行命令后自动返回普通模式,或按 Esc 取消 |
二、普通模式:光标移动与基础操作
普通模式是 Vim 的“指挥中心”,所有操作都从这里发起。以下是常用操作:
1. 光标移动
- 单字符移动:
h(左)、j(下)、k(上)、l(右)(替代方向键,效率更高)。 - 单词级移动:
w:移动到下一个单词开头。b:移动到上一个单词开头。e:移动到当前单词结尾。
- 行级移动:
0(数字零):移动到行首。$:移动到行尾。^:移动到行首第一个非空白字符。
- 屏幕级移动:
Ctrl + f:向下翻一页(forward)。Ctrl + b:向上翻一页(backward)。Ctrl + d:向下翻半页(down)。Ctrl + u:向上翻半页(up)。gg:跳转到文件开头。G:跳转到文件结尾。nG(如5G):跳转到第 5 行。:n(命令模式):直接输入行号跳转(如:10跳转到第 10 行)。
2. 文本操作:删除、复制、粘贴
Vim 中“删除”本质是“剪切”,可结合粘贴使用;复制需显式执行。
- 删除(剪切):
x:删除光标所在字符。dd:删除当前行(剪切行)。ndd(如3dd):删除从当前行开始的 3 行。dw:删除从光标到下一个单词开头的内容。d$:删除从光标到行尾的内容。d0:删除从光标到行首的内容。
- 复制:
yy:复制当前行。nyy(如2yy):复制从当前行开始的 2 行。yw:复制从光标到下一个单词开头的内容。
- 粘贴:
p:粘贴到光标后(下一行或下一个字符)。P:粘贴到光标前(上一行或上一个字符)。
- 撤销与重做:
u:撤销上一步操作。Ctrl + r:重做(取消撤销)。
三、插入模式:文本输入
在普通模式下按以下键进入插入模式,开始输入文本:
i:在光标前插入。I:在当前行首插入(忽略行首空白)。a:在光标后插入。A:在当前行尾插入。o:在当前行下方新建一行并插入。O:在当前行上方新建一行并插入。s:删除光标所在字符并插入。S:删除当前行并插入(相当于dd+i)。
四、命令模式:高级操作
普通模式下按 : 进入命令模式,输入命令后按 Enter 执行。
1. 文件操作
:w:保存当前文件。:w 文件名:另存为新文件。:q:退出(未修改时)。:wq或:x:保存并退出。:q!:强制退出(不保存)。:e 文件名:打开新文件(当前文件需已保存或放弃修改)。:r 文件名:将另一个文件的内容插入到当前光标位置。
2. 查找与替换
- 查找:
- 普通模式下按
/关键词(向下查找)或?关键词(向上查找),按n跳至下一个结果,N跳至上一个。 :set ignorecase:忽略大小写查找(简写:set ic)。:set noignorecase:取消忽略大小写(简写:set noic)。
- 普通模式下按
- 替换:
:s/旧内容/新内容:替换当前行第一个匹配项。:s/旧内容/新内容/g:替换当前行所有匹配项(g表示 global)。:%s/旧内容/新内容/g:替换整个文件所有匹配项(%表示所有行)。:%s/旧内容/新内容/gc:替换时逐处确认(c表示 confirm),按y确认替换,n跳过,a替换全部。
3. 窗口与分屏
Vim 支持多窗口编辑,提高效率:
:split或:sp:水平分屏(上下两个窗口)。:vsplit或:vsp:垂直分屏(左右两个窗口)。- 分屏后切换窗口:
Ctrl + w + h/j/k/l(按方向切换),或Ctrl + w + w(循环切换)。 - 关闭当前窗口:
:q或Ctrl + w + c。
五、进阶技巧:配置与效率提升
1. Vim 配置文件
通过配置文件 .vimrc 自定义 Vim 行为,路径:
- Linux/macOS:
~/.vimrc - Windows(WSL):
~/.vimrc - Windows(单独安装):
C:\Users\<用户名>\_vimrc
常用配置示例:
" 显示行号
set number
" 自动缩进
set autoindent
" 语法高亮
syntax on
" 搜索时实时显示结果
set incsearch
" 忽略大小写查找(智能匹配:含大写时不忽略)
set smartcase
" 按 Backspace 删除任意位置字符
set backspace=indent,eol,start
2. 快捷键与组合操作
Vim 的强大在于“命令组合”,例如:
d + w:删除单词(先按d再按w,无需同时按)。c + $:删除从光标到行尾的内容并进入插入模式(c表示 change)。v + 移动 + y:可视化选择(v进入可视模式)后复制(y)。Ctrl + v:进入块可视模式,可对列进行批量操作(如批量注释)。
3. 插件管理
通过插件扩展 Vim 功能,常用插件管理器:
- Vundle:轻量插件管理器,支持从 GitHub 安装插件。
- Plug:速度更快,支持异步安装。
热门插件:
nerdtree:文件树浏览。vim-airline:美化状态栏,显示分支、行号等信息。YouCompleteMe:代码自动补全。
六、常见问题与解决
- 不小心按到
Ctrl + s导致卡死:按Ctrl + q恢复(终端流控制)。 - 忘记退出 Vim:按
Esc后输入:q!强制退出。 - 中文乱码:在
.vimrc中添加set encoding=utf-8和set fileencodings=utf-8,gbk。
七、学习资源
- 内置教程:终端输入
vimtutor,交互式学习基础操作(强烈推荐新手)。 - 官方文档:
:help(Vim 内查看帮助,按q退出)。 - 网站:Vim 官方文档、Vim cheat sheet(快捷键速查表)。
Vim 的学习曲线较陡,但坚持练习后会逐渐体会到“双手不离键盘”的高效。建议从基础模式和常用命令开始,逐步积累组合操作和配置技巧,最终形成自己的编辑习惯。