Vim 相关汇总
Created|Updated
|Post Views:
Vim 相关汇总
◇ 基础命令
1 2 3 4 5 6 7
| :w # 保存文件 :q # 退出 :wq # 保存并退出 :q! # 不保存强制退出
Esc # 返回正常模式 h j k l # 左、下、上、右移动光标
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| i # 编辑模式,在当前光标位置前插入 I # 在当前行开头插入
a # 编辑模式,在当前光标位置后插入 A # 在当前行末尾插入
s # 删除光标处的字符,并开启编辑模式 S # 删除当前行,并开启编辑模式 cc # 修改当前行
x # 删除光标处的字符 X # 删除光标前的字符
o # 光标下方插入一个空行,并开启编辑模式 (小写字母 o) O # 光标上方插入一个空行,并开启编辑模式 (大写字母 O)
v # 选择文本 V # 选择多行
dd # 剪切当前行 yy # 复制当前行 p # 粘贴文本
u # 撤销,多次按 u 即可多次撤销 Ctrl + r # 恢复被撤销的操作
|
1 2 3 4 5 6 7 8 9 10 11
| Ctrl + n # 自动补全 Ctrl + p # 自动补全
/<text> # 搜索文本 ?<text> # 搜索文本 :n # 跳转到下一个匹配项
:s/<old_text>/<new_text> # 所在行第一个匹配的替换 :s/<old_text>/<new_text>/g # 所在行全局替换 :%s/<old_text>/<new_text>/g # 文件全局替换 :n1,n2s/<old_text>/<new_text>/g # 所选行全局替换
|
1 2 3 4 5 6 7 8 9
| d # 剪切 c # 修改 y # 复制
iw # inner word ap # a paragraph
diw # 删除当前单词 ci
|
1 2 3 4 5 6 7 8 9 10 11
| w # 以单词移动
0 # 跳转到行开头 (零) ^ # 跳转到行开头第一个不是空格的字符 $ # 跳转到行末尾
gg # 跳转到文件开头 G # 跳转到文件末尾
Ctrl + u # 向上滚动半屏 Ctrl + d # 向下滚动半屏
|
1 2 3
| q # 开始/停止录制宏 @q # 执行宏 3@q # 执行宏3次
|
1 2 3 4 5 6 7 8
| :split # 分屏 :sp # 分屏
:vsplit # 垂直分屏 :vsp # 垂直分屏
Ctrl + w # 切换分屏焦点 :q # 关闭分屏窗口
|
1 2 3 4 5 6 7 8 9
| vim * -p
gt gT :bp :bn :ls :qa
|
1 2 3 4 5 6 7 8
| :tabnew # 创建新标签页 :saveas 1.txt # 保存 :tabnew 1.txt # 创建新标签页
:tabnext # 切换标签页 :tabprev # 切换标签页
:tabclose # 关闭标签页
|
1 2 3 4 5 6 7
| ma # 创建书签 "a" 'a # 跳转到书签 "a"
:marks # 显示书签列表
:delmarks a # 删除书签 "a" :delmarks! # 删除全部书签
|
1 2
| Shift + k # 跳转 man 手册 K # 跳转 man 手册
|
◇ 操作案例
▷ 在多行前插入字符
首先,进入普通模式 (Esc),移动光标到想要插入符号的第一行。
使用 Shift + V
进入行选择模式,移动光标向下,选择要在其前插入符号的所有行。
按下 :
键,在命令行中输入以下命令,并按下 Enter
键:
your_symbol
是要插入的符号。这个命令使用正则表达式 ^
匹配每行的开头,然后在每行的开头插入指定的符号。
如果要在多行的末尾插入符号,可以将上述命令中的 ^
改为 $
,如下所示:
这将在每一行的末尾插入指定的符号。