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 全文替换
相关推荐
一字白首1 小时前
Node.js 入门搞定核心内置模块(fs/path/http/querystring)
学习·http·node.js
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [block]fops
linux·笔记·学习
C语言不精1 小时前
一种在 ESP32-S3 上取巧的清晰度检测方案
c语言·stm32·嵌入式硬件·学习
丝斯20111 小时前
AI学习笔记整理(23)—— AI核心技术(深度学习7)
人工智能·笔记·学习
烤麻辣烫1 小时前
黑马程序员苍穹外卖(新手)DAY10
java·开发语言·学习·spring·intellij-idea
●VON1 小时前
Flutter vs React Native vs 原生开发:有何不同?
学习·flutter·react native·react.js·openharmony
Freshman小白1 小时前
《英文科技论文写作与学术报告》网课答案(雨课堂、学堂在线...)
网络·学习·答案
Bin二叉1 小时前
南京大学cpp复习——第二部分(继承)
开发语言·c++·笔记·学习
代码游侠1 小时前
数据结构——线性表
linux·c语言·数据结构·学习·算法