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 全文替换
相关推荐
深蓝海拓14 分钟前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
星火开发设计2 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BackCatK Chen2 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓3 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
理人综艺好会3 小时前
Web学习之用户认证
前端·学习
●VON3 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
AI视觉网奇3 小时前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5
Hello World . .4 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
woodykissme4 小时前
倒圆角问题解决思路分享
笔记·学习·工艺
黎雁·泠崖4 小时前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习