VIM 基本快捷键手册
1. 基本移动
h
- 左移光标j
- 下移光标k
- 上移光标l
- 右移光标0
- 移动到行首$
- 移动到行尾w
- 移动到下一个单词开头e
- 移动到单词末尾gg
- 跳转到文件首行G
- 跳转到文件末行数字G
- 跳转到指定行
2. 编辑模式切换
i
- 在光标前插入a
- 在光标后插入o
- 在当前行下方新开一行并插入O
- 在当前行上方新开一行并插入A
- 在行末插入R
- 进入替换模式<ESC>
- 返回普通模式
3. 删除操作
x
- 删除光标所在字符dw
- 删除一个单词d$
- 删除至行尾dd
- 删除整行数字dd
- 删除多行
4. 复制粘贴
yy
- 复制当前行yw
- 复制一个单词y$
- 复制至行尾p
- 在光标后粘贴P
- 在光标前粘贴
5. 撤销/重做
u
- 撤销上一次操作U
- 撤销对当前行的所有操作CTRL-R
- 重做被撤销的操作
6. 查找和替换
/文本
- 向前查找文本?文本
- 向后查找文本n
- 查找下一个N
- 查找上一个:s/old/new
- 替换当前行第一个匹配:s/old/new/g
- 替换当前行所有匹配:%s/old/new/g
- 替换整个文件所有匹配:%s/old/new/gc
- 替换整个文件所有匹配并确认
7. 文件操作
:w
- 保存文件:w 文件名
- 另存为:q
- 退出:q!
- 强制退出不保存:wq
- 保存并退出
8. 其他重要命令
CTRL-G
- 显示文件信息:help
- 打开帮助文档%
- 跳转到匹配的括号:set ic
- 设置忽略大小写:set noic
- 取消忽略大小写v
- 进入可视模式进行选择
9. 替换操作
r
- 替换光标所在的单个字符R
- 进入替换模式,可以连续替换多个字符直到按<ESC>
10. 修改操作
ce
- 修改从光标到单词末尾的内容c$
- 修改从光标到行末的内容cw
- 修改一个单词cc
- 修改整行C
- 修改从光标到行末的内容(同 c$)
11.文章对象操作
i (inside) 相关命令「a(around)命令类似」
括号相关
ci(
:改变小括号内的内容 (Change Inside Parentheses)ci[
:改变中括号内的内容ci{
:改变大括号内的内容ci<
:改变尖括号内的内容
引号相关
ci"
:改变双引号中的内容ci'
:改变单引号中的内容ci
`:改变反引号中的内容
删除操作
di(
:删除小括号中的内容 (Delete Inside)di[
:删除中括号中的内容di{
:删除大括号中的内容
复制操作
yi(
:复制小括号中的内容 (Yank Inside)yi[
:复制中括号中的内容yi{
:复制大括号中的内容
选择操作
vi(
:选择小括号中的内容 (Visual Inside)vi[
:选择中括号中的内容vi{
:选择大括号中的内容
记住:
i
表示"inside",只处理括号内的内容a
表示"around",会包含括号本身这些命令可以和
c
(change),d
(delete),y
(yank/copy),v
(visual select) 组合使用
f 命令(查找命令)
f字符
:向右查找到指定字符(Find)F字符
:向左查找到指定字符t字符
:向右查找到指定字符前一个位置(Till)T字符
:向左查找到指定字符后一个位置;
:重复上次的查找命令,
:反向重复上次的查找命令
12.其他
:sp
- 水平分割窗口:vsp
- 垂直分割窗口:set number
- 显示行号:set relativenumber
- 显示相对行号>>
- 向右缩进当前行<<
- 向左缩进当前行.
- 重复上一次修改J
- 将下一行追加到当前行末尾
命令组合规律
在 VIM 中,许多命令可以组合使用,遵循以下格式:
[数字] 操作符 动作
例如:
2dd
- 删除两行3dw
- 删除三个单词2ce
- 修改两个单词
常用操作符
d
- 删除c
- 修改y
- 复制v
- 可视选择
常用动作
w
- 单词$
- 行末0
- 行首e
- 单词末尾
使用建议
循序渐进:先掌握基本的移动和编辑操作
多加练习:通过实际编辑加深记忆
善用组合:理解命令组合的规律
形成肌肉记忆:经常使用直到形成习惯
使用 vimtutor:VIM 自带的教程非常有帮助
记住:VIM 的强大之处在于其命令的组合性,掌握了基本规律,就能举一反三,创造出更多高效的编辑方式。