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 全文替换
相关推荐
d111111111d19 分钟前
什么是内存对齐?在STM32上面如何通过编辑器指令来实现内存对齐。
笔记·stm32·单片机·嵌入式硬件·学习·编辑器
蒙奇D索大1 小时前
【数据结构】考研408 | 伪随机探测与双重散列精讲:散列的艺术与均衡之道
数据结构·笔记·学习·考研
舞动青春881 小时前
Ubuntu安装QEMU过程及问题记录
linux·学习·ubuntu
知识分享小能手1 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的基本配置 (3)
linux·学习·ubuntu
黑客思维者1 小时前
机器学习012:监督学习【回归算法】(对比)-- AI预测世界的“瑞士军刀”
人工智能·学习·机器学习·回归·逻辑回归
我想我不够好。1 小时前
实操练习 12.20
学习
Crkylin2 小时前
尚硅谷Linux应用层学习笔记(一)GCC编译
linux·笔记·学习
车载测试工程师2 小时前
CAPL学习-AVB交互层-功能函数-监听器函数函数
网络·学习·tcp/ip·capl·canoe
andwhataboutit?2 小时前
pytorch-CycleGAN-and-pix2pix学习
人工智能·pytorch·学习
vv_5012 小时前
大模型 langchain-组件学习(中)
人工智能·学习·langchain·大模型