1 vim下的三种模式
1)命令行模式
2)正常模式
3)插入模式
三种模式的联系及其相互转换,在我们输入vi命令进入编写程序的页面后,我们看到的是正常模式,在我们输入i,我们会进入插入模式,在我们想退出插入模式时,我们需点击ESC键,回到正常模式。输入:进入命令模式,并输入命令,对我们的文件进行操作
2 基本命令
2.1 vim filename 进入vim
2.2 输入i进入编辑(插入)模式
此时可以对内容进行编辑
2.3 按ESC退出编辑模式,进入正常模式
2.4 :wq保存编辑的内容
3 vim常用命令
3.1 保存
3.1.1 :w(保存)
3.1.2 :w newfile(另存为newfile)
3.1.3 :wq(保存并退出)
3.1.4 :wq newfile(另存为newfile并退出)
3.1.5 :q(退出不保存)
3.1.6 :q!(强制退出不保存)
3.2行号
3.2.1 :set nu(显示行号)
3.2.2 :set nonu(取消显示行号)
3.3查找替换
3.3.1 : /a(向下查找字母a 快捷键 n查找下一个)
3.3.2 : ?a(向上查找字母a 快捷键 n查找下一个)
3.3.3 :1,$s/a/啊(使用啊替换a)
3.3.4 :1,$s/a/啊/g(使用啊替换a(全文))
3.4 贯标移动快捷键
3.4.1 gg 将光标直接移动到最后一行
3.4.2 G 将光标直接移动到第一行
3.4.3 shift+g 将光标直接移动到最后一行
3.4.3 10+shift+g将光标直接移动到第10行
3.4.5 shift+4 移动到当前行末尾
3.4.6 shift+6 移动到当前行头
3.4.7 shift+m 当前屏幕上显示的内容,光标移到中间
3.4.8 shift+h 当前屏幕上显示的内容,光标移到最上面
3.4.9 shift+l 当前屏幕上显示的内容,光标移到最下面
3.5复制
复制的命令是y,即yank(提起)(p粘贴) ,常用的命令如下
3.5.1 y(在使用v模式选定了某一块的时候,复制选定块到缓冲区用)
输入v进入可是模式
通过方向键选定复制的范围
按ESC退出可视
p粘贴
3.5.2 yy (复制整行(nyy或者yny ,复制n行,n为数字)
3.5.3 y^(复制当前到行头的内容)
3.5.4 y$(复制当前到行尾的内容)
3.5.5 yw(复制一个word(nyw或者ynw,复制n个word,n为数字))
3.5.6 yG(复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾))
3.6剪切
剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法
3.6.1 d(剪切选定块到缓冲区)
3.6.2 dd(剪切整行)
3.6.3 d^(剪切至行首)
3.6.4 d$(剪切至行尾)
3.6.5 dw(剪切一个word)
3.6.6 dG(剪切至档尾 )
3.7 粘贴
粘贴的命令式p,即put(放下)
3.7.1 p
小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面
3.7.2 P
大写P代表贴至游标前(上)
整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)
在正则表达式中,^表示匹配字符串的开始位置,$表示匹配字符串的结束位置。
命令前面加数字表示重复的次数,加字母表示使用的缓冲区名称。使用英文句号"."可以重复上一个命令。
在复制粘贴时,另一组常用的命令是u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做),这些功能主要是vim中的,vi中略有差别
3.8撤销
U(撤销某一行最近所有修改)
Ctrl+R(重做)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?