当前位置: 首页 > web >正文

Linux初始——Vim

Vim

  • 前言
  • 初始Vim的各种模式
  • 正常模式详解
  • 底行模式详解
  • vim的批量注释
  • vim的总结

前言

在学习Vim之前,要先知道一些基本的概念,例如IDE是什么,编辑器,编译器是什么?
IDE是集成开发环境,所谓集成就是将多种功能集中在一款软件上,例如微软的visual stdio系列,这系列的软件是集成了编辑代码,编译代码,调试代码等功能的。而像vscode工具,在严格意义上讲,他也只是一款编辑器,是加了各种插件才具备编译调试的功能。
而Vim是一款具备多种模式的编辑器,即Vim只能进行代码编辑,无法进行代码编译运行的。

初始Vim的各种模式

我们在输入vim test.c时,如果没有test.c文件,那么vim会自动在该目录下创建test.c文件并打开,在经过配置后的vim打开如图:在这里插入图片描述
左下角表明为正常模式,此时是没办法进行输入代码的,此时我们输入i之后就进入了插入模式
在这里插入图片描述
此时就可以进行输入代码了。
在代码编辑完毕想要保存并退出的时候,就先按Esc退出到正常模式,在按:,进入到底行模式
在这里插入图片描述
再输入wq,表明保存并退出,如果只是q就只会保存不会退出。

正常模式详解

• 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入
文件;
• 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
• 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
• 从插入模式切换为命令模式,按「ESC」键。
• 移动光标
• vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
• 按「 $ 」:移动到光标所在行的“行尾”
• 按「^」:移动到光标所在行的“行首”
• 按「w」:光标跳到下个字的开头
• 按「e」:光标跳到下个字的字尾
• 按「b」:光标回到上个字的开头
• 按「#l」:光标移到该行的第#个位置,如:5l,56l
• 按[gg]:进入到文本开始
• 按[shift+g]:进入文本末端
• 按「ctrl」+「b」:屏幕往“后”移动一页
• 按「ctrl」+「f」:屏幕往“前”移动一页
• 按「ctrl」+「u」:屏幕往“后”移动半页
• 按「ctrl」+「d」:屏幕往“前”移动半页
• 删除文字
• 「x」:每按一次,删除光标所在位置的一个字符
• 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
• 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
• 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
• 「dd」:删除光标所在行
• 「#dd」:从光标所在行开始删除#行
• 复制
• 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
• 「#yw」:复制#个字到缓冲区
• 「yy」:复制光标所在行到缓冲区。
• 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
• 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
• 替换
• 「r」:替换光标所在处的字符。
• 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
• 撤销上一次操作
• 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行
多次回复。
• 「ctrl + r」: 撤销的恢复
• 更改
• 「cw」:更改光标所在处的字到字尾处
• 「c#w」:例如,「c3w」表示更改3个字
• 跳至指定的行
• 「ctrl」+「g」列出光标所在行的行号。
• 「#G」:例如,「15G」,表示移动光标至文章的第15行 首。

底行模式详解

• 列出行号
• 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
• 跳到文件中的某一行
• 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
• 查找字符
• 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
• 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
/ 和 ?查找有和区别?/从光标位置向下搜索,?向上,例如在搜索之后,再按n,/会跳到下一个位置,而?会跳到上一个位置
• 保存文件
• 「w」: 在冒号输入字母「w」就可以将文件保存起来
• 离开vim
• 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
• 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

vim的批量注释

在正常模式的前提下,按[ctrl + v]进入视图模式,用hjkl进行选择,之后按住shift + i,输入//再按ESC即可

vim的总结

vim一共有12种模式,常用的就上述三种,虽然命令很多,但熟则生巧,不必刻意记忆。

http://www.xdnf.cn/news/19630.html

相关文章:

  • [VLDB 2025]阿里云大数据AI平台多篇论文被收录
  • Matrix-Breakout: 2 Morpheus靶场渗透
  • docker本地部署dify,nginx80端口占用的报错
  • 环境搭建汇总
  • Burp Suite 插件 | 提供强大的框架自动化安全扫描功能。目前支持1000+POC、支持动态加载POC、指定框架扫描。
  • 代码随想录刷题Day47
  • 前端测试深度实践:从单元测试到E2E测试的完整测试解决方案
  • 医疗AI时代的生物医学Go编程:高性能计算与精准医疗的案例分析(八)
  • 华宇TAS应用中间件与长城科技两款产品完成兼容互认证
  • 卷积神经网络训练全攻略:从理论到实战
  • 矩阵中寻找好子矩阵
  • 解决爬虫IP限制:Selenium隧道代理完整解决方案
  • 【git】解决Failed to connect to github.com port 443: Timed out
  • 如何修复Lyra Starter Game的按键绑定功能?
  • 智能运维新范式:自动化如何提升企业IT效率
  • 二叉树OJ习题
  • Azure AI Search构建RAG的优化点
  • 动态配置最佳实践:Spring Boot 十种落地方式与回滚审计指南(含实操与避坑)
  • Hello World背后的秘密:详解 C++ 编译链接模型
  • 【重学MySQL】九十三、MySQL字符集与比较规则完全解析
  • Python轻量化革命:用MicroPython构建边缘智能设备
  • 【开题答辩全过程】以 基于SpringBoot的流浪猫狗领养系统为例,包含答辩的问题和答案
  • Unity学习----【数据持久化】二进制存储(二)--文件流
  • 大模型RAG项目实战:Milvus向量数据库
  • 实现自己的AI视频监控系统-第三章-信息的推送与共享1
  • Bootloader(1):初步认识Bootloader概念(什么是Bootloader)
  • 基于muduo库的图床云共享存储项目(三)
  • Ansible配置文件与主机清单
  • juicefs+ceph rgw 存储安装
  • MYSQL表的增删改查