以下是一份简明实用的 Vim 使用指南,涵盖基础操作、核心命令和效率技巧,帮助新手快速上手并深入理解 Vim 的工作逻辑。
1. 安装与启动
• 安装:
• Linux: sudo apt install vim
(Debian/Ubuntu)或 sudo yum install vim
(CentOS)
• macOS: 自带 vim
,或通过 brew install vim
更新
• Windows: 下载 gvim 或使用 WSL
• 启动:
vim # 打开新文件
vim filename.txt # 打开指定文件
2. 模式切换与基本操作
Vim 的核心是模式切换,熟练掌握模式转换是高效操作的关键。
模式 | 进入方式 | 退出方式 | 用途 |
---|---|---|---|
Normal 模式 | 启动默认或按 Esc | 无 | 导航、删除、复制粘贴等操作 |
Insert 模式 | 按 i (插入)或 a (追加) | 按 Esc | 输入文本 |
Visual 模式 | 按 v (字符)、V (行)、Ctrl+v (块) | 按 Esc | 选择文本区域 |
Command-line 模式 | 按 : | 执行命令后自动退出 | 执行保存、退出、搜索等命令 |
3. 导航与移动
在 Normal 模式下,所有操作无需鼠标:
基础移动
• 字符级:h
(左)、j
(下)、k
(上)、l
(右)
• 单词级:
• w
:下一个单词开头
• b
:上一个单词开头
• e
:当前单词末尾
• 行级:
• 0
:行首,^
:行首非空字符
• $
:行尾
• gg
:文件首行,G
:文件末行
• 50G
:跳转到第 50 行
• 屏幕滚动:
• Ctrl+f
:向下翻页,Ctrl+b
:向上翻页
• zz
:将当前行居中
4. 文本编辑
插入与删除
命令 | 功能 |
---|---|
i | 在光标前插入文本 |
a | 在光标后追加文本 |
o | 在当前行下方插入新行并进入 Insert 模式 |
O | 在当前行上方插入新行 |
x | 删除光标后字符 |
X | 删除光标前字符 |
dd | 删除当前行 |
dw | 删除一个单词 |
复制、粘贴与撤销
命令 | 功能 |
---|---|
yy | 复制当前行 |
yw | 复制一个单词 |
p | 粘贴到光标后 |
P | 粘贴到光标前 |
u | 撤销操作 |
Ctrl+r | 重做操作 |
5. 保存与退出
在 Command-line 模式下(按 :
进入):
命令 | 功能 |
---|---|
:w | 保存文件 |
:q | 退出 Vim |
:q! | 强制退出(不保存修改) |
:wq 或 :x | 保存并退出 |
:w newfile.txt | 另存为新文件 |
6. 高效编辑技巧
操作符(Operators)与动作(Motions)
• 语法:[数字] + 操作符 + 动作
• d2w
:删除接下来的 2 个单词
• c$
:修改从光标到行尾的内容
• yip
:复制整个段落
文本对象(Text Objects)
• 语法:操作符 + 文本对象
• di"
:删除双引号内的内容
• ci(
:修改圆括号内的内容
• vip
:选择整个段落
重复操作
• .
键:重复上一次修改(如删除、粘贴)
• 宏录制:
- 按
qa
开始录制宏到寄存器a
- 执行操作(如修改、移动)
- 按
q
停止录制 - 按
@a
执行宏
搜索与替换
• 搜索:
• /keyword
:向下搜索关键字,按 n
跳转下一个,N
上一个
• ?keyword
:向上搜索
• 替换:
• :%s/old/new/g
:全局替换所有 old
为 new
• :%s/old/new/gc
:全局替换并逐个确认
7. 配置文件与插件
定制化配置(~/.vimrc)
" 基础设置
set number " 显示行号
set tabstop=4 " Tab 显示为 4 空格
set expandtab " 将 Tab 转换为空格
set hlsearch " 高亮搜索结果
syntax on " 语法高亮
" 快捷键映射
nmap <C-s> :w<CR> " Ctrl+s 保存
nmap <leader>q :q<CR>
插件管理(推荐工具)
• vim-plug:轻量级插件管理器
" 安装 vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" 在 ~/.vimrc 中添加插件
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree' " 文件树
Plug 'junegunn/fzf.vim' " 模糊搜索
Plug 'neoclide/coc.nvim' " 代码补全
call plug#end()
• 执行 :PlugInstall
安装插件。
8. 速查表(Cheat Sheet)
场景 | 命令 |
---|---|
删除到行尾 | D 或 d$ |
复制当前行到下一行 | yyp |
快速注释代码块 | Ctrl+v 选择行 → I# → Esc |
分屏操作 | :vsp (垂直分屏),:sp (水平分屏) |
跳转到定义 | gd (需 LSP 支持如 coc.nvim) |
9. 注意事项
- 不要死记硬背:从高频命令开始,逐步积累。
- 善用帮助文档:
:help command
查看命令说明。 - 保持 Normal 模式:操作完成后立即按
Esc
返回 Normal 模式。 - 利用社区资源:Vim Awesome 探索插件,Vim Golf 练习技巧。
通过持续练习和配置优化,Vim 将成为你的编辑利器,助你实现“人剑合一”的高效工作流!🚀