VIM快速入门
vim模式
vim模式分为两种:
基本模式:
1. 普通模式
2. 插入模式
3. 可视模式
4. 选择模式
5. 命令行模式
6. EX模式
派生模式
7. 操作符等待模式
8. 插入普通模式
9. 插入可视化模式
10. 插入选择模式
11. 替换模式
插入模式:
按键 | 含义 |
---|---|
i | 在光标的前边进入插入模式 |
I | 在光标所在行的行首进入插入模式 |
a | 在光标的后边进入插入模式 |
A | 在光标所在行的行尾进入插入模式 |
o | 在光标所在行的下方插入空行并进入插入模式 |
O | 在光标所在行的上方插入空行并进入插入模式 |
s | 删除光标指定的字符并进入插入模式 |
S | 将光标所在行清楚并进入插入模式 |
删除模式
- 在普通模式下,删除单个字符可以用x命令
- 删除更多字符可以使用d命令 -d +motion
- motion表示操作范文的指令
按键 | 含义 |
---|---|
0 | 将光标定位到行首的位置 |
^ | 同上 |
$ | 将光标定位到行尾的位置 |
b | 将光标定位到光标所在单词的起始处 |
e | 将光标定位到光标所在单词的结尾处 |
w | 将光标定位到下一个单词的起始处(是光标所在单词的下一个单词) |
gg | 将光标定位到文件的开头 |
G | 将光标定位在文件的末尾 |
删除命令详解
按键 | 含义 |
---|---|
d0 | 删除从光标当前位置(不包含)到该行行首的所有字符 |
d^ | 同上 |
d$ | 删除从光标当前位置(包含)到该行行尾的所有字符 |
db | 删除从光标当前位置(不包含)到单词起始处的所有字符 |
de | 删除从光标当前位置(包含)到单词结尾处的所有字符 |
dw | 删除从光标当前位置(包含)到下个单词起初出的所有字符 |
dh | 删除光标前边一个字符 |
dl | 删除光标指定的字符 |
dj | 删除光标所在行以及下一行的所有字符 |
dk | 删除光标所在行以及上一行的所有字符 |
dd | 删除光标所有在的字符 |
dgg | 删除光标所在行到文件开头的所有字符 |
dG | 删除光标所在行到文件末尾的所有字符 |
撤销命令
- u 表示撤销最后一次修改
- U 表示撤销对整行的修改
- ctrl +r 快捷键可以恢复撤销的内容
粘贴命令
在VIM下使用删除命令,并不会直接将你的东西删除掉,而是放到VIM的寄存器中
- 使用p命令可以将最后一次删除的内容粘贴到光标之后
- 大写P 是粘贴到光标之前
注意:
- 如果需要粘贴的是整行为单位,那么p命令将在光标的下一行开始粘贴
- 如果粘贴的是非整行的局部字符串,那么p命令将在光标后开始粘贴
拷贝命令
- y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用;
- yy 复制整行(nyy或者yny ,复制n行,n为数字);
- y^ 复制当前到行头的内容;
- y$ 复制当前到行尾的内容
- yG复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾
替换命令
- r 命令用于替换光标所在的字符(先将光标移动到需要替换的字符处,按一下r键,然后输入新的字符)
- 在键入r命令前输入数字,表示从光标处开始,将多个字符统一替换为新字符
- R命令一键进入替换模式
修改命令
c 命令实现修改
按键 | 含义 |
---|---|
c0 | 删除光标从当前位置(不包含)到该行行首的所有字符,并进入插入模式 |
c^ | 同上 |
c$ | 删除从光标当前位置(包含)到该行行尾的所有字符,并进入插入模式 |
cb | 删除从光标当前位置(不包含)到单词起始处的所有字符,并进入插入模式 |
ce | 删除从光标当前位置(包含)到单词结尾处的所有字符,并进入插入模式 |
cw | 删除从光标当前位置(包含)到下个单词起始处的所有字符,并进入插入模式 |
ch | 删除光标前一个字符,并进入插入模式 |
cl | 删除光标指定的字符,并进入插入模式 |
cj | 删除光标所在行以及下一行的所有字符,并在光标下一行进入插入模式 |
ck | 删除光标所在行以及上一行的所有字符,并在光标下一行进入插入模式 |
cc | 删除光标所在行的字符,并进入插入模式 |
文件信息
ctrl +g
显示文件内容信息,光标所在位置
跳转到指定的行:
行号+G
:行号
括号定位:
按下%快速定位另一半括号
缩进
搜索命令
/目标 | ?目标 | |
---|---|---|
搜索方向 | 从光标开始向后 | 光标开始向前 |
n | 向后搜索下一个 | 向前搜索下一个 |
N | 向前搜索下一个 | 向后搜索下一个 |
:nohl 取消高亮
替换搜索到的内容
:s/xx/xx/
表示将光标所在的行的第一个old替换为new
全局替换
:s/xx/xx/g
表示将光标所在行的所有old替换为new
:%s/xx/xx/g 替换之前进行询问
表示替换鞥个文件中所有的old为new
:%s/old/new/gc
同上但是每次替换之前会请示
:2,3s/old/new/g
表示替换第2行到3行中所有的old替换为new
:! 可以执行其他命令,比如查看当前目录下还有那些文件
:w 文件另存为
将文件局部内容另存为
v进入可视化 选中需要保存的内容后按:w 文件名
合并文件
:r 文件名
同时打开多个文件
-o:垂直并排
-O:水平并排
- 用ctrl +w +w 将光标切换到下一个文件
- 对于垂直并排的文件,使用ctrl +w +上下方向 表示上下切换文件
- 对于水平并排的文件:使用ctrl+w+左右方向,表示左右切换方向
- 同时退出所有的文件 :qa /:wqa
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?