vim常用键位总结

1、移动光标

按键 作用
h或← 光标向左移动一个字符
j或↓ 光标向下移动一个字符
k或↑ 光标向上移动一个字符
l或→ 光标向右移动一个字符
Ctrl + f或Page Down 屏幕向下移动一页(常用)
Ctrl + b或Page Up 屏幕向上移动一页(常用)
Ctrl + d 屏幕向下移动半页
Ctrl + u 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
<num> + Space num表示数字,按下数字后再按空格,光标会向右移动这一行的num个字符
0或Home 移动到当前行第一个字符处(常用)
$或End 移动到当前行最后一个字符处(常用)
H 光标移动到这个屏幕最上方一行的第一个字符处
M 光标移动到这个屏幕中心一行的第一个字符处
L 光标移动到这个屏幕最下方一行的第一个字符处
G 移动到当前文件的最后一行(常用)
<num> + G num表示数字,配合G使用将光标移动到文件指定行
gg 移动到当前文件的第一行(常用)
<num> + Enter num表示数字,按下数字后再按回车,光标向下移动num行

2、搜索替换

按键 作用
/word 向下查找名称为 word 的字符串(常用)
?word 向上查找名称为 word 的字符串(常用)
n 重复前一个搜索动作(常用)
N 反向重复前一个搜索动作(常用)
:<num1>,<num2>s/word1/word2/g 在num1行与num2行之间寻找 word1 字符串,并将该字符串替换为 word2 字符串。使用$或%替代num2时意味查询至文件最后一行;命令中的g表示替换动作无需用户确认,若需要用户确认则使用gc代替g(常用)

3、删除、复制和粘贴

按键 作用
x或X x表示向后删除一个字符,X表示向前删除一个字符(常用)
<num> + x或<num> + X num为数字,组合x或X使用表示向后或向前删除num个字符
dd 剪切光标所在位置的一整行(常用)
<num> + dd num为数字,组合dd使用表示剪切光标所在行的向下num行(常用)
d1G 删除光标所在行到第一行的所有数据
dG 删除光标所在行到最后一行的所有数据
d$ 删除光标所在位置到该行最后一个字符的所有数据
d0 删除光标所在位置到该行最前面一个字符的所有数据
yy 复制光标所在位置的一整行(常用)
<num> + yy num为数字,组合yy使用表示复制光标所在行的向下num行(常用)
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y$ 复制光标所在位置到该行最后一个字符的所有数据
y0 复制光标所在位置到该行最前面一个字符的所有数据
p或P p表示向光标下一行粘贴已复制数据,P表示向光标上一行粘贴已复制数据。该操作同样可与<num>组合,例如<num> + p(常用)
J 将光标所在行与下一行数据结合成同一行
c 重复删除多个数据,例如向下删除10行为10cj,其中j代表 join
u 复原前一个动作(常用)
Ctrl + r 撤销上一个u操作(常用)
. 重复上一个动作
相关推荐
一木 之林13 分钟前
DeepSeek Agent 开发(三)
java·大数据·linux
大猫会长1 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
羔羊++1 小时前
29_实验二十八_buildroot配置与编译
linux
LoneEon2 小时前
CentOS7 部署 Nacos3.x 集群实战:从注册中心到 AI 管理中心
linux·人工智能·nacos
传人2 小时前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
鬼手点金3 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
xixiaoyunya3 小时前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
墨家句子3 小时前
服务器被反复尝试登录之后:fail2ban 加密钥登录的五道加固
linux·后端
阿明63 小时前
进程替换【Linux】
linux·运维·服务器
sunoo-2293 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦