* VIM普通模式

​ ① 移动光标 ② 复制 粘贴 ③ 剪切 粘贴 删除 ④ 撤销与恢复

移动光标

光标上下左右移动

1
2
3
4
h       #左移
j #下移
k #上移
l #右移

移动多行

1
2
3
4
4h       #左移4格
4j #上移4行
4k #下移4行
4l #右移4格

跳转到单词末尾或者开头(下一个空格前)

1
2
w      # word
b # begining

跳转到文档开始或末尾

1
2
gg        # 跳转到文档开头
G (shift + g) # 跳转到文档末尾

上下翻页

1
2
3
ctrl + u  #向上翻页
ctrl + d #向下翻页

快速到最近的某个字母(区分大小写)

1
2
3
fu      #到最近1的u
fc #到最近的c
fK #到最近的K

复制粘贴

复制

y

  • 复制单词
1
2
yaw      # y(yank)  aw(a word)

  • 复制n行
1
2
3
4
5
6
7
8
9
yy      # 复制本行

nyy # 复制n行 包括当前行

y4j # 向下复制5行 包括当前行
y4k # 向上复制5行 包括当前行
y4h # 向左复制4个字符 不包括光标在闪烁那个字符
y4l # 向右复制4个字符 包括光标在闪烁那个字符

粘贴

p

1
p      # 小写p,复制到光标后的一行

剪切删除

  • d命令其实可以看成剪切,不复制出来就变成删除了。

  • 删除行

1
2
3
4
5
6
7
8
dd      # 删除光标所在行
ndd # 删除n行 包括当前行

d4j # 向下删除5行 包括当前行
d4k # 向上删除5行 包括当前行
d4h # 向左删除4个字符 不包括光标在闪烁那个字符
d4l # 向右删除4个字符 包括光标在闪烁那个字符

  • 删除到本行末尾
1
D

替换

c

  • 替换单词
1
2
caw     # change a word

  • 替换行
1
2
cc      # 删除行,并且进入编辑模式
c4j # 删除下4行+本行,并且进入编辑模式

*

撤销恢复

1
u       # (undo)

文件操作

1
:wq      # 保存并退出

* VIM 可视化模式(VISUAL)

v

1
v      # 进入可视化模式

​ 进入可视化模式后移动光标即可选中该部分内容进行操作,例如:

  • d # 删除
  • y # 复制
  • c # 替换

客制化

  • NERDtree

文件夹,文件,管理(树形结构)

vim学习网站

VIM GAME


常用命令

🔍 查找与跳转类

操作 命令 功能
向下查找 /关键词 向下搜索
向上查找 ?关键词 向上搜索
查找下一个 n 重复上一次查找方向
查找上一个 N n 相反方向查找
精准跳行 :数字 跳转到某行(如 :25 到第25行)
跳转当前函数开始 [[ 到上一个函数定义
跳转当前函数结束 ]] 到下一个函数定义

✂️ 复制/粘贴/删除

操作 命令 功能
复制整行 yy Yank(复制)一整行
复制多行 3yy 复制 3 行
粘贴 p 粘贴到当前行/位置后
粘贴到前面 P 粘贴到当前行/位置前
删除当前行 dd 删除整行(并放入剪贴板)
删除多行 3dd 删除 3 行

🖊 编辑文本

操作 命令 功能
进入插入模式 i 当前光标前插入
行首插入 I 当前行行首插入
行末插入 A 当前行行末插入
开新行 o 下一行插入新行
上一行插入 O 上一行插入新行
撤销操作 u 撤销
重做操作 Ctrl + r 重做

⏬ 移动光标(导航)

操作 命令 功能
移动到行首 0 数字零,跳转行首
移动到行尾 $ 跳转行尾
下一个单词 w 移动到下一个词首
上一个单词 b 移动到上一个词首
向后跳一个词尾 e 跳到词尾
跳转匹配括号 % 例如从 ( 跳到 )

🔄 替换与格式

操作 命令 功能
替换字符 r<字符> 替换当前字符为新字符
替换整行 cc 删除本行并进入插入模式
修改当前单词 cw 删除单词并插入新内容
缩进 >> / << 增加 / 减少缩进
自动缩进格式化 gg=G 整个文件格式化缩进

🗂 多文件 / 多窗口

操作 命令 功能
打开文件 :e 文件名 打开另一个文件
保存文件 :w 写入文件
保存退出 :wqZZ 保存并退出
不保存退出 :q! 强制退出
分屏 :vsp 文件名 垂直分屏打开文件
窗口切换 Ctrl + w + h/j/k/l 切换到左/下/上/右窗口

🧠 Bonus 技巧

操作 命令 功能
查看文件编码 :set fileencoding?
设置行号 :set number
取消行号 :set nonumber
语法高亮 :syntax on
显示不可见字符 :set list

是否要我给你一张快捷键总结图?或者针对某类操作(比如查找替换、代码缩进)出个练习小册?