Vim的初步学习

1.Vim 的三大核心模式

(1)Normal 模式(普通模式)

默认进入的模式,用于移动、复制、删除、跳转等操作。

Esc 随时回到 Normal 模式。

(2)Insert 模式(插入模式)

用于输入文本。

进入方式:

指令 含义
i 在光标前插入
a 在光标后插入
I 在行首插入
A 在行尾插入
o 在下一行新开一行插入
O 在上一行新开一行插入

(Insert 模式用 Esc 退出)

(3) Visual 模式(可视模式)

用于选中文本。

指令 含义
v(小写) 字符可视模式
V(大写) 行可视模式
Ctrl + v 块可视模式(矩形选择)

2.移动光标(Motion)

基础移动

指令 说明
h
j
k
l
w 下一个单词开头
b 上一个单词开头
e 当前/下一个单词结尾
0(数字) 行首
$ 行尾
gg 文件开头
G 文件末尾
:n 跳到第 n 行

高级跳转

指令 说明
% 匹配跳转括号 (){}\[\]
} 下一个段落
{ 上一个段落
fx 跳到下一个字符 x
tx 跳到 x 的前一格

3.文本编辑(Edit)

删除(delete)

指令 说明
x 删除光标字符
dw 删除单词
dd 删除整行
d$ 删除到行尾
d0 删除到行首

复制(yank)

指令 说明
yy 复制整行
yw 复制一个单词
y$ 复制到行尾

粘贴(put)

指令 说明
p(小写) 在光标后粘贴
P(大写) 在光标前粘贴

替换(replace)

指令 说明
rX 用 X 替换光标字符
R 进入 overwrite 模式

4.撤销与重做

指令 说明
u(小写) 撤销
Ctrl + r 重做
U(大写) 撤销整个行的修改

5.搜索与替换

搜索(Search)

指令 说明
/keyword 向下搜索
?keyword 向上搜索
n 下一个
N 上一个

替换(Substitute)

单行替换

复制代码
:s/旧/新/

全文替换

复制代码
:%s/旧/新/g

交互确认

复制代码
:%s/旧/新/gc

6.插件管理(基本)

打开文件

复制代码
:e 文件名

保存文件

复制代码
:w

保存并退出

复制代码
:wq

不保存退出

复制代码
:q!

分屏(超好用)

指令 说明
:sp 水平分屏
:vsp 垂直分屏
Ctrl + w + w 切换窗口
Ctrl + w + h/j/k/l 定向切换

7.批量缩进与格式化

指令 说明
>> 当前行右缩进
<< 当前行左缩进
= 自动格式化(常与可视模式选中使用)

8. 宏(Macro)------高阶神器

指令 说明
qX 开始录制宏到寄存器 X
q 结束录制
@X 执行宏 X
@@ 重复上次宏

9.常用组合指令示例(非常实用)

组合指令 作用
d2w 删除两个单词
y3j 复制下面三行
3dd 删除三行
ci( 修改括号内部内容
di" 删除双引号内内容
:%s/foo/bar/g 全文替换
相关推荐
y = xⁿ1 天前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
HugoStudio_SWAN1 天前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生
sakiko_2 天前
Swift学习笔记42-SwiftUI的属性包装器(讲解+面试)
笔记·学习·ios·swiftui·swift
存在morning2 天前
【Paimon 学习笔记 三】工作流程:Paimon 的批写、流写、批读与流读
笔记·学习
老当益壮梁奶奶2 天前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
凯尔萨厮2 天前
Java学习笔记十(注解)
java·笔记·学习
JoannaJuanCV2 天前
VLM学习-SFT(监督微调)
深度学习·学习·机器学习·大模型·视觉大模型·vlm·视觉编码器
程序员大雄学编程2 天前
微积分43. 无穷积分入门:从概念到Python实战可视化
开发语言·python·学习·微积分
一条破秋裤2 天前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
2601_962073972 天前
【MySQL】全面学习数据库查询技巧:查询指令深度学习指南
数据库·学习·mysql