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 全文替换
相关推荐
db_murphy1 天前
学习篇 | 服务器的睿频
运维·服务器·学习
Summer_Uncle1 天前
【QT学习】qt项目使用MySQL数据库
数据库·qt·学习
程序猿零零漆1 天前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十二)Spring整合web环境
学习·spring
深蓝海拓1 天前
PySide6从0开始学习的笔记(二十三)使用QRunnable在线程池中执行临时任务
笔记·python·qt·学习·pyqt
CCPC不拿奖不改名1 天前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
声网1 天前
如何用 Fun-ASR-Nano 微调一个「听懂行话」的语音模型?丨Voice Agent 学习笔记
笔记·学习·xcode
山峰哥1 天前
数据库工程与SQL调优实战:从原理到案例的深度解析
java·数据库·sql·oracle·性能优化·编辑器
火山引擎开发者社区1 天前
当 veDB 遇上 AI:云原生数据库的智能诊断创新,覆盖重保/应急全场景
vim
●VON1 天前
智能暗战:AI 安全攻防实战全景解析
人工智能·学习·安全·von
AI_56781 天前
从“数学小白”到“独立做项目”——3阶段学习法如何让零基础学好AI
人工智能·学习