Vim
MyVim
1. 基础导航命令(光标移动)
| 命令 | 含义 |
|---|---|
h | 左移一个字符 |
l | 右移一个字符 |
j | 下移一行 |
k | 上移一行 |
w | 移动到下一个单词的开头 |
e | 移动到当前/下一个单词的结尾 |
0(零) | 移动到行首 |
^ | 移动到本行第一个非空白字符 |
$ | 移动到行尾 |
| G | 移动到文件最后面 |
| gg | 移动到文件最前面 |
2. 插入模式
| 命令 | 含义 |
|---|---|
i | 在光标前插入 |
I | 在当前行的第一个非空字符前插入 |
a | 在光标后插入 append |
A | 在当前行行尾插入 |
o | 在当前行下方新起一行并插入 |
O | 在当前行上方新起一行并插入 |
<Esc> | 退出插入模式,回到普通模式 |
3. 删除命令
| 命令 | 含义 |
|---|---|
x | 删除当前光标所在字符 |
X | 删除光标前的字符 |
dw | 删除从光标到下一个单词开头(不含空格) |
de | 删除从光标到当前/下一个单词结尾 |
d$ | 删除从光标到行尾 |
dd | 删除整行 |
d0 | 删除至行首(不包括光标) |
4.修改命令(删除 + 插入)
| 命令 | 含义 |
|---|---|
cw | 修改当前单词(删掉当前词,进入插入) |
ce | 修改至单词结尾 |
c$ | 修改至行尾 |
cc | 修改整行(等价于 S) |
| :s/old/new ( 文本替换 substitute) | 基本替换:只替换该行第一次出现的 old |
| :s/old/new/g ( g=global→ 全部都替换,不加只替换第一个) | 全部替换:将该行所有出现的 old 替换为 new |
| :10,20s/thee/the/g | 第几行替换 |
| :%s/thee/the/g | 全文件替换 |
| :%s/old/new/gc --->confirmation | 每次替换前请求我的确认 |
| O -------------->大写 | 此行上方插入行 |
| o -------------->小写 | 此行下方插入行 |
| r---------------> | 替换单个字母 |
| R | 不退出一直从光标开始替换 |
5.撤销与重做
| 命令 | 含义 |
|---|---|
u | 撤销上一步操作 |
U | 撤销当前整行的所有更改 |
CTRL-R | 重做被撤销的操作(undo 的 undo) |
6.保存与退出
| 命令 | 含义 |
|---|---|
:w | 保存文件 |
:q | 退出 Vim |
:q! | 不保存退出(强制退出) |
:wq | 保存并退出 |
ZZ | 同 :wq(不需输入冒号) |
7. 其他命令
| 命令 | 含义 |
|---|---|
:help | 打开 Vim 的帮助系统 |
:!cmd | 执行外部命令(如 :!ls) |
~ | 切换字符大小写 |
. | 重复上一次普通模式下的操作 |
r<char> | 替换光标下的字符为 <char> |
J | 合并当前行和下一行 |
8. 查找命令
| / word | 跳转到word前面 |
|---|---|
| n | 继续向下找下一个匹配项(next) |
| N | 向上找上一个匹配项(Next,反方向) |
| ? word | 表示从当前位置向上搜索 |
| CTRL-O | 返回“之前”的光标位置(像网页的“后退”) |
| CTRL-I | 回到“之后”的光标位置(像网页的“前进”) |
| %+[]/()/{} | 自动跳转到另一边的括号 |
| :set ic | 忽略大小写 |
| :set hls is | 开启高亮和增量搜索 |
| :set noic | 关闭忽略大小写 |

9. 执行外部命令
代码块收起展开
:!外部命令::进入命令模式
!:告诉 Vim“我要执行一个 shell 命令”
ls、dir 等:正常的终端命令(比如列出目录)
10. 选择并保存文本

11.复制和粘贴
v进入选中 , y表示赋值yank , p 表示粘贴paste
| y------------>yank | 表示复制 |
|---|---|
| yw | yank one word |
| yy | yank whole line |
| p | paste粘贴 |
12 . 帮助文档
:help w(窗口相关)
:help c_CTRL-D(命令行补全)
:help insert-index(插入模式索引)
:help user-manual(用户手册)
代码块收起展开
:help user-manual —— Vim 官方用户手册,从基础到高级都有
:help quickref —— 快速参考指南,命令一览
:help motion —— 光标移动相关命令
:help insert —— 插入模式操作
:help visual —— 可视模式操作
:help undo —— 撤销和重做
:help registers —— 寄存器(剪贴板)管理
:help copy —— 复制、粘贴命令(y, p等)
:help search —— 搜索命令和选项
:help options —— 各种配置选项(比如 ignorecase)
:help folding —— 折叠代码
:help mapping —— 快捷键映射
:help syntax —— 语法高亮
:help autocommand —— 自动命令事件
:help buffers —— 缓冲区管理
:help windows —— 窗口管理
:help tabs —— 标签页管理vimtutor




| 命令 | 作用 |
|---|---|
:s/旧/新/ | 当前行替换第一个 |
:s/旧/新/g | 当前行替换全部 |
:#,#s/旧/新/g | 替换指定行范围中全部 |
:%s/旧/新/g | 替换整个文件中全部 |
:%s/旧/新/gc | 替换整个文件,并逐个确认 |