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

《Linux篇》基础开发工具——vim详细介绍

文章目录

  • 1.软件包管理
    • 1.1 什么是软件包
    • 1.2 Linux软件生态
  • 2.编辑器vim
    • 2.1 vim的正常/命令模式
    • 2.2 vim的末行模式
    • 2.3 vim的插入模式
  • 3.配置vim

1.软件包管理

我们先来看一下再Linux是那个如何安装软件?

  1. 源码安装:==软件是存在相互依赖的关系的,==我们单单安装这一个软件的源码往往是不行的,还要安装依赖的那些软件的源码。而且源码安装比较困难,对新手不友好,不好上手。
  2. rpm方式安装:RPM文件以.rpm结尾,包含预编译的二进制文件、配置文件、文档及元数据(如版本、依赖关系、安装脚本等)。本质就是把源代码在Windows下编译好,然后打包。优点是自动下载并安装所有依赖包,简化流程。缺点是需手动解决依赖关系,若缺少依赖会报错。
  3. yum/apt:类似于Windows下的软件商店,工具级别的安装,帮助我们自动解决软件相互依赖关系。

1.1 什么是软件包

在Linux下安装软件, ⼀个通常的办法是下载到程序的源代码, 并进⾏编译, 得到可执⾏程序。
但是这样太⿇烦了, 于是有些⼈把⼀些常⽤的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便的获取到这个编译好的软件包, 直接进⾏安装。
软件包和软件包管理器, 就好⽐ “App” 和 “应⽤商店” 这样的关系。
yum(Yellow dog Updater, Modified)是Linux下⾮常常⽤的⼀种包管理器. 主要应⽤在Fedora,RedHat, Centos等发⾏版上。
Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了⾃动解决依赖关系、下载和安装软件包的功能。

1.2 Linux软件生态

Linux下载软件的过程:
在这里插入图片描述
Q:Linux上面的软件,也一定是开发者或者公司开发的,并且Linux是开源的,对于这些Linux开发者来说,他们为什么会免费的给我们提供这些软件。?
A:这就牵扯到操作系统生态的问题,一个操作系统写的再好,他不被用户所认可,也是不行的。就比如说评估手机不支持微信,那大家还会用苹果手机吗?
在这里插入图片描述
在这里插入图片描述
软件包依赖的问题:
在这里插入图片描述
当然,外国的软件包一般在国内不可访问,或者访问你速度过慢,就有很多高校或公司提供了镜像,例如清华大学、阿里云等等。

在这里插入图片描述

2.编辑器vim

什么是vim呢?他就像Windows系统下的记事本,方便我们在Linux下写代码,写文件等等。在以往的时代,写代码是不需要鼠标这个外设的,程序员只使用键盘来写项目,操作会很快。而vim的出现就是为了摆脱鼠标这个外设的影响,大家以后再Linux系统中也要尽量脱离鼠标这个外设。

首先,vim有三种模型,分别是命令模式、插入模式、底行模式:

  1. 命令或正常模式:控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode
  2. 插入模式:只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。
  3. 末行模式:⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。

首先我们使用vim打开一个文件,默认就是命令模式,我们输入字符’i’就可以进入插入模式,然后再按esc退出插入模式,进入命令模式。在命令模式下,输出:或者?可以进入底行模式,在按esc退出底行模式,进入命令模式。
在这里插入图片描述
我们在bash下输入命令:vim test.c ,如果不存在test文件,则新创建一个文件test.c。进入之后,默认就是命令模式了。

2.1 vim的正常/命令模式

  1. 我们以往是按上下左右箭头来移动光标的,但是现在更推荐h、j、k、l,分别表示左、下、上、右,在之后有的场景下只能使用hjkl,而不可以使用方向键。
  2. 【G】光标移动到最后一行的开始处
  3. 【gg】光标移动到第一行的开始处
  4. 【n+G】光标移动到第n行的开始处
  5. 【^】或者【home】光标移动到本行的开始
  6. 【$】或者【end】光标移动到本行末
  7. 【n+space(空格)】或者【n+l】往光标像猴移动n个字符处
  8. 【w】一直按方向键比较慢,按住w光标跳到下个字的开头
  9. 【e】光标跳到下个字的字尾
  10. 【b】光标回到上个字的开头
  11. 【ctrl+b】屏幕往“后”移动⼀⻚
  12. 【ctrl+f】屏幕往“前”移动⼀⻚
  13. 【ctrl+u】屏幕往“后”移动半⻚
  14. 【ctrl+d】屏幕往“前”移动半⻚
  15. 【x】每按⼀次,删除光标所在位置的⼀个字符
  16. 【nx】「6x」表⽰删除光标所在位置的“后⾯(包含⾃⼰在内)”6个字符
  17. 【X】每按⼀次,删除光标所在位置的“前⾯”⼀个字符
  18. 【nX】「20X」表⽰删除光标所在位置的“前⾯”20个字符
  19. 【dd】删除光标所在⾏
  20. 【ndd】从光标所在⾏开始删除n⾏
  21. 【ggdG】将所有行删除
  22. 【yw】将光标所在之处到字尾的字符复制到缓冲区中
  23. 【nyw】复制n个字到缓冲区
  24. 【yy】复制光标所在⾏到缓冲区
  25. 【nyy】「6yy」表⽰拷⻉从光标所在的该⾏“往下数”6⾏⽂字
  26. 【p】将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
  27. 【r】替换光标所在处的字符
  28. 【R】替换光标所到之处的字符,直到按下「ESC」键为⽌。
  29. 【cw】更改光标所在处的字到字尾处
  30. 【cnw】「c3w」表⽰更改3个字
  31. 【u】如果您误执⾏⼀个命令,可以⻢上按下「u」,回到上⼀个操作。按多次“u”可以执⾏多次回复。
  32. 【ctrl + r】撤销的恢复

这里补充一个“块操作”,背景:比如说我们写了几行代码,但是在上面我们向嵌套一个循环,我们需要把那几行的代码拷贝带循环里面,我们需要移动一个table的空格大小。我们就需要使用“块操作”,按住 ctrl+v,进行快操作,可以多选几个,更改第一行的内容,其他行都会被修改。

2.2 vim的末行模式

在使⽤末⾏模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按【:】冒号即可进⼊末⾏模式。

  • 【set nu】列出行号,会在⽂件中的每⼀⾏前⾯列出⾏号
  • 【n】在冒号后输⼊⼀个数字,再按回⻋键就会跳到该⾏了,如输⼊数字15,再回⻋,就会跳到⽂章的第15⾏。
  • 【/关键字】先按「/」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以⼀直按【n】会往后寻找到您要的关键字为⽌。从前向后找
  • 【?关键字】先按【?】键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以⼀直按【n】会往前寻找到您要的关键字为⽌。从后向前找
  • 【w】保存文件
  • 【q】退出,后面加一个!表示强制退出。
  • 【wq】保存并退出

2.3 vim的插入模式

在正常模式下:

  • 按【i】切换进⼊插⼊模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;
  • 按【a】进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
  • 按【o】进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字

3.配置vim

我们在家目录下创建一个文件 .vimrc 可以在里面配置我们的vim,例如语法高亮、显示行号、补全等等。我们可以借助大模型来帮助我们配置vim。

相关文章:

  • Nacos-3.0.0适配PostgreSQL数据库
  • CUDA 编程相关的开源库
  • 单片机-89C51部分:6、数码管
  • 基于卷积神经网络的蔬菜水果识别系统,resnet50,mobilenet模型【pytorch框架+python源码】
  • 【LINUX操作系统】线程操作
  • USB3.0 、 PCIE、RFSoC、NVMe 新课程课程直播发布公告
  • AutoGen 框架深度解析:构建多智能体协作的事件驱动架构
  • PCIe-8634四口千兆PoE以太网卡的性能与应用分析
  • 【Java面试题04】MySQL 篇
  • 喷泉码技术在现代物联网中的应用 设计
  • Java学习手册: IoC 容器与依赖注入
  • 设备数据采集软件takebishi和kepware的区别是什么?
  • Android常见仓库与国内仓库对应关系
  • 【android bluetooth 协议分析 06】【l2cap详解 10】【通过avdtp连接流程,感受l2cap通道的生命周期变化】
  • 浅谈PCB传输线(一)
  • SpringBoot应用原生或docker镜像容器集成Skywalking
  • 软件工程(二):开发模型
  • 基于亚博K210开发板——看门狗实验
  • print用法讲解(Python)
  • js day8
  • 上海开花区域结果,这项田径大赛为文旅商体展联动提供新样本
  • 怒江州委常委、泸水市委书记余剑锋调任云南省委省直机关工委副书记
  • 广东雷州农商行董事长、原行长同日被查
  • 法院为“外卖骑手”人身权益撑腰:依法认定实际投保人地位
  • 《奇袭白虎团》原型人物之一赵顺合辞世,享年95岁
  • 暴涨96%!一季度“中国游中国购”持续升温,还有更多利好